TP 2 M2 UP&UC




Tugas Pendahuluan 1 Modul 2
(Percobaan 5 Kondisi 1)

1. Prosedur
[Kembali]
  • Rangkai semua komponen di wokwi
  • Buat program dan masukkan pada web wokwi
  • Jalankan program dan cobakan sesuai kondisi
2. Hardware dan Diagram Blok [Kembali]

Hardware :

a) Mikrokontroler STM32F103C8

Hardware :

  • Raspberry pi pico






  • Resistor


  • motor
  • sensor DHT22
  • servo
  • potensiometer
  • buzzer

Diagram Blok


3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]



















Prinsip Kerja : 

Percobaan 5 menggunakan Raspberry Pi Pico sebagai pusat kendali yang terhubung dengan sensor DHT22, potensiometer, servo motor, dan buzzer. Potensiometer berfungsi sebagai input analog untuk mengatur sudut servo—semakin besar nilai ADC, servo akan berputar searah jarum jam sesuai posisi potensiometer melalui sinyal PWM dari Pico. Sensor DHT22 mendeteksi suhu dan kelembapan, dan Pico akan mengaktifkan buzzer jika suhu <35°C atau kelembapan >50%, masing-masing dengan pola suara berbeda. Sistem ini mengintegrasikan kontrol motor, pembacaan sensor digital dan analog, serta respons audio dalam satu rangkaian berbasis mikrokontroler.untuk mengatur suhu dan kelembabab pada rangkaian ditentukan oleh sensor DHT22 , dan pada transistor dapat mengendalikan servo dengan memutar transistor searah jarum jam atau sebaliknya

4. Flowchart dan Listing Program [Kembali]

  a. Flowchart
    
    b. 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 sensor DHT22 pada GPIO 16

dht_sensor = dht.DHT22(Pin(16))

# Inisialisasi buzzer sebagai PWM pada GPIO 14

buzzer = PWM(Pin(14))

buzzer.duty_u16(0) # Tidak ada suara saat awal

# 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

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. Kondisi [Kembali]

Buatlah rangkaian seperti gambar pada percobaan 5. Jika potensiometer diputar searah jarum jam, servo bergerak searah jarum jam. Jika suhu < 35°C buzzer berbunyi, jika kelembapan >50% buzzer berbunyi, jika kedua kondisi tadi memnuhi buzzer jugaberbunyi. Dimana masing masing keadaan tadi memiliki bunyi yang berbeda
6. Video Simulasi [Kembali]









7. Download File [Kembali]

Download HTML [download]
Download File Rangkaian [download]
Download Video Simulasi [download]
Download Listing Program [download]

Komentar

Postingan populer dari blog ini

MODUL 1

modul 2 sistem digital

Tugas Pendahuluan 1 Modul 1 (Percobaan 1 Kondisi 10)