TP Modul 2 - Percobaan 5 Kondisi 3




Tugas Pendahuluan 2 Modul 2
(Percobaan 5 Kondisi 3)

1. Prosedur
[Kembali]

1. Rangkai rangkaian di wokwi sesuai dengan kondisi percobaan.
2. Buat program dengan bahasa python.
3. Jalankan simulasi rangkaian.
4. Selesai.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1. Raspberry Pi Pico





2. DHT22


3. Potensiometer


4. Buzzer

5. Motor Servo



Diagram Blok  :




3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :

Prinsip Kerja : 

Rangkaian tersebut menggunakan mikrokontroler Raspberry Pi Pico untuk mengendalikan beberapa komponen elektronik, yaitu sensor suhu dan kelembapan DHT22, potensiometer, motor servo, serta buzzer. Potensiometer yang terhubung ke pin ADC (GPIO 26) digunakan untuk mengatur sudut putaran motor servo. Nilai analog dari potensiometer dibaca dan dikonversi ke nilai sudut antara 0 hingga 180 derajat, yang kemudian diubah menjadi sinyal PWM untuk mengatur posisi servo melalui pin GPIO 15.

Sensor DHT22 yang terhubung ke GPIO 16 berfungsi untuk membaca suhu dan kelembapan udara. Data suhu dan kelembapan yang diperoleh kemudian digunakan untuk mengaktifkan buzzer (pada GPIO 14) dalam kondisi tertentu. Jika suhu terdeteksi kurang dari 35°C, buzzer akan berbunyi dengan nada E5 sebagai peringatan suhu rendah. Sedangkan jika kelembapan melebihi 50%, buzzer akan memainkan melodi khusus yang terdiri dari nada E5, F5, dan G5 sebagai indikasi kelembapan tinggi.

Keseluruhan sistem ini bekerja dalam sebuah loop yang terus-menerus membaca input dari sensor dan potensiometer, lalu mengatur keluaran motor servo dan buzzer berdasarkan kondisi yang terdeteksi. Ini menunjukkan bagaimana Raspberry Pi Pico dapat digunakan untuk sistem monitoring sederhana dengan kontrol aktuator dan peringatan audio. 


4. Flowchart dan Listing Program [Kembali]

Flowchart :   

Listing Program :

from machine import Pin, ADC, PWM
import time
import dht
# Inisialisasi potensiometer pada GPIO 26 (ADC0)
pot = ADC(26)
# Inisialisasi motor servo pada GPIO 15 (PWM)
servo = PWM(Pin(15))
servo.freq(50) # Frekuensi PWM untuk servo
# Inisialisasi buzzer sebagai PWM pada GPIO 14
buzzer = PWM(Pin(14))
buzzer.duty_u16(0) # Tidak ada suara saat awal
# Inisialisasi sensor DHT22 pada GPIO 16
dht_sensor = dht.DHT22(Pin(16))

# Fungsi mapping nilai
def map_value(value, in_min, in_max, out_min, out_max):
    return int((value - in_min) * (out_max - out_min) / (in_max - in_min) + out_min)
# Fungsi untuk membunyikan buzzer dengan nada tertentu
def play_buzzer_note(frequency, duration_ms):
    buzzer.freq(frequency)
    buzzer.duty_u16(32768) # Volume setengah
    time.sleep_ms(duration_ms)
    buzzer.duty_u16(0)
    time.sleep_ms(50) # Jeda antar nada
# Fungsi melodi untuk kelembapan tinggi
def play_high_humidity_melody():
    play_buzzer_note(659, 200) # E5
    play_buzzer_note(698, 200) # F5
    play_buzzer_note(784, 200) # G5

while True:
    # Baca potensiometer
    pot_value = pot.read_u16()
    servo_angle = map_value(pot_value, 0, 65535, 0, 180)
   
    servo_duty = map_value(servo_angle, 0, 180, 1638, 8192)
    servo.duty_u16(servo_duty)

    # Baca suhu dan kelembapan dari DHT22
    dht_sensor.measure()
    temperature = dht_sensor.temperature()
    humidity = dht_sensor.humidity()
    print(f"Suhu: {temperature}°C | Kelembapan: {humidity:.1f}%")
    # Cek kondisi dan mainkan melodi sesuai kondisi
    if temperature < 35:
        print("🔥 Buzzer ON: Suhu rendah!")
        play_buzzer_note(659, 200) # E5        
    if humidity > 50:
        print("💧 Buzzer ON: Kelembapan tinggi!")
        play_high_humidity_melody()
     

5. Kondisi [Kembali]
Percobaan 5 Kondisi 3
Buatlah rangkaian seperti gambar pada percobaan 5. Jika potensiometer diputar searah jarum jam, servo bergerak searah jarum jam. Jika suhu < 35°C buzzer berbunyi dan kelembapan >50% buzzer berbunyi dengan 3 nada.

6. Video Simulasi [Kembali]
7. Download File [Kembali]

Download File Rangkaian [Download]
Download Video Simulasi [Download]
Datasheet RGB LED [Download]





















Komentar

Postingan populer dari blog ini