from machine import Pin, I2C
from time import sleep
import dht
from servo import Servo
from ssd1306 import SSD1306_I2C
# Déclaration de variables
i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
oled = SSD1306_I2C(128, 64, i2c)
capteur = dht.DHT22(Pin(28))
ledv = Pin(0, Pin.OUT) # LED verte
ledo = Pin(5, Pin.OUT) # LED orange
ledr = Pin(9, Pin.OUT) # LED rouge
servo = Servo(17) # Servomoteur
# Boucle principale
while True:
capteur.measure()
temperature = capteur.temperature()
humidite = capteur.humidity()
oled.fill(0)
print('Temp: {:.1f} C'.format(temperature))
print('Hum: {:.1f} %'.format(humidite))
if temperature >= 20 and humidite == 40:
oled.text("Arrosage 5 sec", 0, 0)
ledv.value(1)
servo.move(180)
sleep(5)
ledv.value(0)
elif temperature <= 10 and humidite < 30:
oled.text("Arrosage 2 sec", 0, 20)
ledo.value(1)
servo.move(180)
sleep(2)
ledo.value(0)
elif temperature > 26 and humidite == 60:
oled.text("Surchauffe !", 0, 20)
ledr.value(1)
sleep(2)
ledr.value(0)
oled.show()
sleep(2)