from machine import Pin, I2C
import ssd1306
import dht
import time
# ESP32 Pin assignment
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
oled_width = 128
oled_height = 64
oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c)
sensor = dht.DHT22(Pin(25, Pin.IN))
led = Pin(14, Pin.OUT)
while True:
try:
sensor.measure()
t = sensor.temperature()
h = sensor.humidity()
oled.fill(0)
oled.text("Nhiet do: {:.2f}".format(t), 10, 10)
oled.show()
if t > 40:
oled.text("Nhiet do cao", 10, 30)
led.on()
elif t < 10:
oled.text("Nhiet do thap", 10, 30)
led.on()
else:
oled.text("Trong kiem soat", 10, 30)
led.off()
oled.show()
time.sleep(3)
except Exception as e:
print("Error:", e)
from machine import Pin
from time import sleep
led2= Pin(13, Pin.OUT)
sensor2= Pin(27, Pin.IN)
while True:
if(sensor2.value()==1):
led2.on()
print("Motion Detected")
else:
led2.off()
print("Motion Not Detected")
time.sleep(3)