from machine import Pin
from time import sleep
from machine import Pin, SoftI2C
import ssd1306
import dht
led_red = Pin(15, Pin.OUT)
led_yellow = Pin(2, Pin.OUT)
led_green = Pin(4, Pin.OUT)
led=Pin(17,Pin.OUT)
i2c = SoftI2C(scl=Pin(22), sda=Pin(21))
oled_width = 128
oled_height = 64
oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c)
cap = dht.DHT22(Pin(0))
def light_show():
for _ in range(3):
led_red.value(1)
led_yellow.value(1)
led_green.value(1)
sleep(0.2)
led_red.value(0)
led_yellow.value(0)
led_green.value(0)
sleep(0.1)
def red():
led_red.value(1)
led_yellow.value(0)
led_green.value(0)
def yellow():
led_red.value(0)
led_yellow.value(1)
led_green.value(0)
def green():
led_red.value(0)
led_yellow.value(0)
led_green.value(1)
def off():
led_red.value(0)
led_yellow.value(0)
led_green.value(0)
while True:
try:
sleep(4)
cap.measure()
tmp = cap.temperature()
hum = cap.humidity()
if tmp > 20:
led.value(1)
else:
led.value(0)
print("tmperature= %d" % tmp)
print("HUMidity= %d" % hum)
except OSError as e:
print('error:', e)
red()
oled.fill(0)
oled.text("--Warning!--", 34, 22)
oled.show()
print("***Warning!***")
a = 10
for i in range(10):
print(a)
a = a - 1
sleep(1)
off()
oled.fill(0)
oled.text("Be carefull", 34, 22)
oled.show()
print("*-*Wait!*-*")
light_show()
yellow()
b = 3
for i in range(3):
print(b)
b = b - 1
sleep(1)
off()
for i in range(5):
yellow()
sleep(0.2)
off()
sleep(0.2)
light_show()
green()
oled.fill(0)
oled.text("You can Go!", 34, 22)
oled.show()
print("-->You can Go!<--")
c = 10
for i in range(10):
print(c)
c = c - 1
sleep(1)
light_show()