Laporan Akhir m2 = 2 (percobaan 5)






1. Prosedur [kembali]
  1. pertama pahami modul yang akan kita lakukan percobaanya (percobaan 5)
  2. setelah memahami modul kita bagi anggota klompok untuk bisa bagi tugas 
  3. sebagian membuat rangkaian sebagian membuat programnya
  4. buatlah program tersebut pada link wokwi (percobaan 5)
  5. buatlah rangkaian pada media yang telah disediakan sesuai (percobaan 5)
  6. setelah rangkaian dan program telah dirasa benar
  7. selanjutnya cobalahh jalankan rangkaian dengan menyambungkan program dan rangkaian tersebut ,jika terhubung dengan baik
  8. cobalah jalankan bila rangkaian berfungsi sesuai percobaan yang kita laksanakan
  9. percobaan berhasil di lakukan
2. Hardware dan Diagram Blok [kembali]
  • Raspberry Pi Pico

  • Sensor DHT22

  • Potensiometer (Rotary Potentiometer)

  • Servo Motor (SG90 atau sejenisnya)

  • Buzzer

  • Diagram blok

3. Rangkaian Simulasi dan Prinsip Kerja [kembali]
  • Rangkaiann Simulasi

  • Prinsip Kerja

Rangkaian ini dikendalikan oleh Raspberry Pi Pico yang terhubung dengan sensor suhu dan kelembaban DHT22, potensiometer, buzzer, dan servo motor. Sensor DHT22 mengirimkan data suhu dan kelembaban ke Pico, sementara potensiometer memberikan input analog yang bisa digunakan sebagai pengatur atau pembanding. Berdasarkan data yang diterima, Pico dapat menggerakkan servo motor ke posisi tertentu dan mengaktifkan buzzer jika kondisi tertentu tercapai, misalnya suhu terlalu tinggi. Semua komponen diberi daya dari sumber VCC yang sama, dan Pico berperan sebagai pusat pengolahan data dan kendali aktuator



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 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
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
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 normal
except OSError:
print("⚠ Gagal membaca sensor DHT22.")
time.sleep(0.5)


5. Vidio Demo [kembali]


6. Analisa [kembali]



7. Video Simulasi [kembali]
(sama dengan vidio demo)


8. Download file [kembali]


Komentar

Postingan populer dari blog ini

MODUL 1 MIKRO

TUGAS BESAR "KONTROL BANJIR OTOMATIS"

MODUL 2 SISDIG