- Membuka website wokwi.com
- Pilih Raspberry Pi Pico
- Pilih Micropython
- Susun rangkaian sesuai kondisi dan modul
- Memasukkan codingan rangkaian berdasarkan algoritma kondisi
- Jalankan rangkaian
- Selesai
b) Hardware dan Diagram Blok[Kembali]
- Raspberry Pi Pico
- LDR dan Photodioda
- Buzzer
- LED
- Resistor
c) Rangkaian Simulasi dan Prinsip Kerja[Kembali]
Gambar 2. Rangkaian simulasi.
d) Flowchart dan Listing Program[Kembali]
- Flowchart
- Listing Program
from machine import Pin, PWM, ADC
import utime
# Pin Setup
ldr = ADC(28) # Pin AO dari LDR ke GP28
ldr_digital = Pin(0, Pin.IN) # Pin DO dari LDR ke GP0 (kalau mau dipakai nanti)
led = Pin(6, Pin.OUT) # LED di GP6
buzzer = PWM(Pin(15)) # Buzzer di GP15 dengan PWM
# Konfigurasi PWM Buzzer
buzzer.freq(1000) # Frekuensi awal buzzer (1kHz)
buzzer.duty_u16(0) # Mulai dengan buzzer mati
# Fungsi untuk mengonversi nilai ADC ke lux
def adc_to_lux(adc_value):
normalized_adc = (adc_value - 512) / (65007 - 512) # Normalisasi ADC
lux = normalized_adc * 990 + 10 # Rentang 10 - 1000 lux
return lux
# Variabel untuk menyimpan kondisi normal awal
# Variabel untuk kedip LED
last_blink_time = utime.ticks_ms()
led_state = False
led_should_blink = False # hanya True saat kondisi mendeteksi perubahan cahaya signifikan
# Loop utama
while True:
analog_value = ldr.read_u16()
lux = adc_to_lux(analog_value)
lux_akhir= 1000-lux
print(f"LDR Value: {analog_value} | Lux: {lux_akhir}")
if lux_akhir > 200:
led_should_blink = True # nyalakan mode kedip
buzzer.duty_u16(int(0.45 * 65535)) # nyalakan buzzer
for i in range(500, 1000, 100): # variasi frekuensi buzzer
buzzer.freq(i)
utime.sleep(0.1)
else:
led_should_blink = False
led.off()
buzzer.duty_u16(0)
# Kedip LED jika perlu
if led_should_blink:
current_time = utime.ticks_ms()
if utime.ticks_diff(current_time, last_blink_time) >= 4000:
led_state = not led_state
led.value(led_state)
last_blink_time = current_time
else:
led.off()
utime.sleep(0.1) # sedikit delay supaya tidak terlalu cepat baca LDR
Percobaan 1 Kondisi 3
Buatlah rangkaian seperti gambar pada percobaan 1, buatlah ketika LDR membaca Lebih terang dari normal sebesar 200 LUX Led merah hidup berkedip selama 4 detik dan Duty Cycle Buzzer 45%
Video Simulasi.
Link rangkaian [klik]
Download video simulasi [klik]
0 Komentar