from machine import Pin, I2C
from time import sleep
from servo import Servo
from oled import SSD1306_I2C
import dht
import utime
led1 = Pin(2, Pin.OUT)
led2 = Pin(3, Pin.OUT)
led3 = Pin(4, Pin.OUT)
led4 = Pin(6, Pin.OUT)
led5 = Pin(7, Pin.OUT)
led6 = Pin(8, Pin.OUT)
led7 = Pin(9, Pin.OUT)
led8 = Pin(10, Pin.OUT)
led9 = Pin(11, Pin.OUT)
led10 = Pin(12, Pin.OUT)
servo = Servo(Pin(18))
capteur = dht.DHT22(Pin(27))
i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
oled = SSD1306_I2C(128, 64, i2c)
while True:
capteur.measure()
temp = capteur.temperature()
humi = capteur.humidity()
sleep(2)
print('Température: {:.1f}°C'.format(temp))
print('Humidité: {:.1f}%'.format(humi))
if temp >= 30 and humi == 100:
led1.value(1)
led2.value(1)
led3.value(1)
led4.value(0)
led5.value(0)
led6.value(0)
led7.value(0)
led8.value(0)
led9.value(0)
led10.value(0)
servo.move(180)
oled.text("Ferme", 5, 5)
oled.show()
oled.fill(0)
if temp >= 20 and temp < 30:
led1.value(0)
led2.value(0)
led3.value(0)
led4.value(1)
led5.value(1)
led6.value(1)
led7.value(0)
led8.value(0)
led9.value(0)
led10.value(0)
servo.move(90)
oled.text("Mi-ferme", 5, 5)
oled.show()
oled.fill(0)
if temp < 10:
led1.value(0)
led2.value(0)
led3.value(0)
led4.value(0)
led5.value(0)
led6.value(0)
led7.value(1)
led8.value(1)
led9.value(1)
led10.value(1)
servo.move(0.01)
oled.text("Ouvert", 5, 5)
oled.show()
oled.fill(0)