from machine import Pin, Timer
from dht import DHT22
# Inisialisasi timer
tim = Timer(0)
# Inisialisasi GPIO
leds = [Pin(pin, Pin.OUT) for pin in [13, 12, 14, 27, 26, 25, 33, 32]] # Pin untuk LED Bar graph
# Inisialisasi sensor DHT22
sensor = DHT22(Pin(21))
# Fungsi callback
def mycallback(t):
global global_temp
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
print("Suhu: {}°C, Kelembaban: {}%".format(temp, hum))
# Matikan semua LED terlebih dahulu
for pin in leds:
pin.off()
# Pengontrol LED Bar graph berdasarkan rentang suhu
if temp >= 100:
# Nyalakan semua LED
for pin in leds:
pin.on()
elif temp >= 90:
# LED8 ON
for i in range(8):
leds[i].on()
elif temp >= 80:
# LED7 ON
for i in range(7):
leds[i].on()
elif temp >= 70:
# LED6 ON
for i in range(6):
leds[i].on()
elif temp >= 60:
# LED5 ON
for i in range(5):
leds[i].on()
elif temp >= 50:
# LED4 ON
for i in range(4):
leds[i].on()
elif temp >= 40:
# LED3 ON
for i in range(3):
leds[i].on()
elif temp >= 30:
# LED2 ON
for i in range(2):
leds[i].on()
elif temp >= 20:
# LED1 ON
leds[0].on()
# Setel periode pemanggilan fungsi callback menjadi 2000 milidetik (2 detik)
tim.init(period=2000, callback=mycallback)