from machine import Pin
import dht
import time
# Khai báo các chân GPIO cho cảm biến DHT11 và LED
dht_pin = Pin(15, Pin.IN, Pin.PULL_UP) # Chân DHT11
led_red = Pin(16, Pin.OUT) # LED đỏ
led_yellow = Pin(17, Pin.OUT) # LED vàng
led_green = Pin(18, Pin.OUT) # LED xanh
# Khởi tạo cảm biến DHT22
sensor = dht.DHT22(dht_pin)
def flash_led(pin, times=2, delay_time=0.5):
for _ in range(times):
pin.on()
time.sleep(delay_time)
pin.off()
time.sleep(delay_time)
while True:
try:
sensor.measure()
temperature = sensor.temperature()
humidity = sensor.humidity()
print("Temperature: {}*C Humidity: {}%".format(temperature, humidity))
# Task 1: Xử lý nhiệt độ
if temperature > 25:
case_temp = 1
elif temperature < 23:
case_temp = 2
else:
case_temp = 3
if case_temp == 1:
led_red.on()
led_yellow.off()
led_green.off()
elif case_temp == 2:
led_red.off()
led_yellow.off()
led_green.on()
elif case_temp == 3:
led_red.off()
led_yellow.on()
led_green.off()
# Task 2: Xử lý độ ẩm
if humidity > 50:
case_hum = 1
else:
case_hum = 2
if case_hum == 1:
flash_led(led_red)
elif case_hum == 2:
flash_led(led_green)
time.sleep(2)
except OSError as e:
print('Failed to read sensor.')