from machine import Pin
import time
from dht import DHT22
# Inisialisasi sensor DHT22
sensor = DHT22(Pin(21))
# Inisialisasi LED
led_pins = [18, 5, 17, 16, 4, 0, 2, 15]
leds = [Pin(pin, Pin.OUT) for pin in led_pins]
def update_leds(temperature):
led_states = [False] * 8
if 0 <= temperature <= 80:
num_leds_on = (temperature // 10) + 1
led_states[:num_leds_on] = [True] * num_leds_on
return led_states
def set_leds(led_states):
for led, state in zip(leds, led_states):
if state:
led.on()
else:
led.off()
while True:
try:
sensor.measure()
temp = sensor.temperature()
temperature = int(temp)
humidity = sensor.humidity()
except OSError as e:
print(f"Gagal membaca sensor DHT22: {e}")
continue
led_states = update_leds(temperature)
set_leds(led_states)
print(f"Suhu: {temperature}°C Kelembaban: {humidity}%")
time.sleep(0.5)