from machine import Pin, I2C
from utime import sleep
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
# Konfigurasi I2C untuk LCD
I2C_ADDR = 0x27 # Alamat I2C dari LCD, sesuaikan jika berbeda
i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
lcd = I2cLcd(i2c, I2C_ADDR, 4, 20)
# Pin konfigurasi
pir_sensor = Pin(15, Pin.IN) # Pin untuk sensor PIR
buzzer = Pin(14, Pin.OUT) # Pin untuk buzzer
led_green = Pin(13, Pin.OUT) # Pin untuk LED hijau
led_red = Pin(12, Pin.OUT) # Pin untuk LED merah
# Fungsi utama
try:
while True:
pir_value = pir_sensor.value()
if pir_value == 1: # Jika ada gerakan terdeteksi
# Aktifkan indikator bahaya
led_red.on()
buzzer.on()
lcd.clear()
lcd.putstr("Status: Bahaya")
sleep(0.5)
led_red.off()
sleep(0.5)
else: # Jika tidak ada gerakan
# Tampilkan status aman
led_red.off()
buzzer.off()
led_green.on()
lcd.clear()
lcd.putstr("Status: Aman")
sleep(0.1)
except KeyboardInterrupt:
# Membersihkan kondisi jika program dihentikan
led_green.off()
led_red.off()
buzzer.off()
lcd.clear()