import time
from machine import Pin
import dht
# Inisialisasi DHT22
dht_pin = Pin(4)
dht22 = dht.DHT22(dht_pin)
# Inisialisasi pin GPIO untuk LED
led_pins = [Pin(i, Pin.OUT) for i in [12, 14, 27, 26, 25, 33, 32, 13]] # Sesuaikan dengan pin yang digunakan
humidity_temp_led = Pin(0, Pin.OUT) # LED tambahan pada GPIO0
def update_leds(temperature, humidity):
# Matikan semua LED terlebih dahulu
for led in led_pins:
led.off()
# Nyalakan LED sesuai dengan suhu
if temperature >= 20:
led_pins[0].on()
if temperature >= 30:
led_pins[1].on()
if temperature >= 40:
led_pins[2].on()
if temperature >= 50:
led_pins[3].on()
if temperature >= 60:
led_pins[4].on()
if temperature >= 70:
led_pins[5].on()
if temperature >= 80:
led_pins[6].on()
if temperature >= 100:
led_pins[7].on()
# Nyalakan atau matikan LED tambahan berdasarkan suhu dan kelembaban
if temperature > 40 and humidity > 40:
humidity_temp_led.on()
else:
humidity_temp_led.off()
while True:
try:
# Baca suhu dan kelembaban dari sensor DHT22
dht22.measure()
temperature = dht22.temperature()
humidity = dht22.humidity()
print("Temperature: {:.1f}C Humidity: {:.1f}%".format(temperature, humidity))
# Update LED berdasarkan suhu dan kelembaban
update_leds(temperature, humidity)
except OSError as error:
# Error membaca sensor, coba lagi
print("Failed to read sensor.")
time.sleep(2) # Tunggu 2 detik sebelum pembacaan berikutnya