import machine
import time
import ssd1306
scl = machine.Pin(22, machine.Pin.OUT, machine.Pin.PULL_UP)
sda = machine.Pin(21, machine.Pin.OUT, machine.Pin.PULL_UP)
i2c = machine.I2C(scl=scl, sda=sda, freq=400000)
oled = ssd1306.SSD1306_I2C(128, 64, i2c, addr=0x3C)
from machine import Pin
import dht
d = dht.DHT22(machine.Pin(23)) #dht22
led1 = Pin(15, Pin.OUT)
led2 = Pin(2, Pin.OUT)
led3 = Pin(4, Pin.OUT)
def display_reads():
d.measure()
temp = d.temperature()
humidity = d.humidity()
oled.fill(0)
oled.text('Temperature *C: ', 10, 10)
oled.text(str(temp), 90, 20)
oled.text('Humidity %: ', 10, 40)
oled.text(str(humidity), 90, 50)
oled.show()
print('Temperature: ', temp, '*C', '', 'Humidity', humidity, '%')
INTERVAL = 2000
start = time.ticks_ms()
display_reads()
while True:
d.measure()
temp = d.temperature()
humidity = d.humidity()
if time.ticks_ms() - start >= INTERVAL:
display_reads()
start = time.ticks_ms()
if temp <= 3:
led1.on()
led2.off()
led3.off()
elif temp <= 40:
led1.off()
led2.on()
led3.off()
elif temp > 40:
led1.off()
led2.off()
led3.on()
else:
led1.off()
led2.off()
led3.off()