from machine import Pin, I2C
import ssd1306, neopixel
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)
p13 = Pin(13, Pin.OUT)
np = neopixel(Pin(14), 16)
while True:
sensor = dht.DHT22(Pin(15))
sensor.measure()
temp = sensor.temperature()
humidity = sensor.humidity()
print(f'{temp}°C')
print(f'{humidity}%')
oled.text(f'temp:{temp}C',0,20)
oled.text(f'humidity:{humidity}%',0,30)
oled.show()
time.sleep(5)
if temp < 30:
time.sleep(1)
p13.value(1)
else:
time.sleep(1)
p13.value(0)