LA Modul 2 - Percobaan 5




Percobaan 5

1. Prosedur
[Kembali]
  • Rangkai semua komponen 
  • Buat program di website wokwi
  • Jalankan program dan cobakan sesuai kondisi

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1. Raspberry Pi Pico



2.  Motor Servo




3. Buzzer




4. Sensor DHT22

5. Potensiometer



Diagram Blok  :


3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :
 

Prinsip Kerja : 
Prinsip kerja rangkaian ini dimulai dengan inisialisasi seluruh perangkat keras, yaitu sensor suhu dan kelembapan DHT22, potensiometer, motor servo, dan buzzer, yang semuanya dikendalikan oleh mikrokontroler Raspberry Pi Pico. Dalam loop utama, sistem pertama-tama membaca nilai dari potensiometer yang kemudian digunakan untuk mengatur posisi motor servo sesuai nilai tersebut. Setelah itu, mikrokontroler membaca data suhu dan kelembapan dari sensor DHT22. Jika sensor gagal mengirimkan data, maka sistem akan mencetak pesan kesalahan (print error). Namun, jika data berhasil dibaca, maka nilai suhu dan kelembapan akan ditampilkan. Selanjutnya, sistem melakukan evaluasi terhadap nilai suhu dan kelembapan tersebut. Jika suhu lebih dari 35°C dan kelembapan lebih dari 50%, maka sistem akan menampilkan peringatan dan mengaktifkan buzzer dengan melodi gabungan. Jika hanya suhu yang melebihi 35°C, maka sistem akan memberikan peringatan dan membunyikan buzzer dengan melodi suhu tinggi. Jika hanya kelembapan yang melebihi 50%, maka buzzer berbunyi dengan melodi kelembapan tinggi. Jika kedua parameter berada dalam batas normal, maka buzzer tidak akan menyala. Seluruh proses ini diulang setiap 0.5 detik dalam loop utama sistem.

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(1)) 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 suhu tinggi def play_high_temp_melody(): play_buzzer_note(880, 200) # A5 play_buzzer_note(988, 200) # B5 play_buzzer_note(1047, 200) # C6 # 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 # Fungsi melodi kombinasi suhu dan kelembapan tinggi def play_combined_alert_melody(): play_buzzer_note(1047, 200) # C6 play_buzzer_note(1175, 200) # D6 play_buzzer_note(1319, 200) # E6 # Loop utama while True: # Baca potensiometer dan atur posisi servo 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 try: 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 and humidity > 50: print("🔥💧 Buzzer ON: Suhu & Kelembapan tinggi!") play_combined_alert_melody() elif temperature > 35: print("🔥 Buzzer ON: Suhu tinggi!") play_high_temp_melody() elif humidity > 50: print("💧 Buzzer ON: Kelembapan tinggi!") play_high_humidity_melody() else: buzzer.duty_u16(0) # Matikan suara jika kondisi normal except OSError: print("⚠️ Gagal membaca sensor DHT22.") time.sleep(0.5) # Delay antar pembacaan

5. Video Demo [Kembali]


6. Analisa [Kembali]




7. Download File [Kembali]
Download Video Demo [Download]
Datasheet Sensor Infrared [Download]
Datasheet RGB LED [Download]
Datasheet Sensor Touch [Download]

Komentar

Postingan populer dari blog ini