#code proposé par koala.sh
# À faire : ajouter boutons on off, ?affichage?
# penser à une solution étanche, genre boitié imprimé en 3D ou autre solution, raccords étanche aussi
# ajouter bouton off même si mvt et humidité
import dht
from machine import Pin
import time
# Initialisation des broches
dht_sensor = dht.DHT22(Pin(5))
pir_sensor = Pin(7, Pin.IN)
relay = Pin(10, Pin.OUT)
# Fonction pour allumer le relais
def turn_relay_on():
relay.on()
# Fonction pour éteindre le relais
def turn_relay_off():
relay.off()
# Lecture de l'humidité
def read_humidity():
dht_sensor.measure()
return dht_sensor.humidity()
# Vérification de la présence de mouvement
def motion_detected():
return pir_sensor.value() == 1
# Contrôle de l'humidité et du capteur de mouvement
while True:
humidity = read_humidity()
if humidity > 45:
turn_relay_on()
else:
turn_relay_off()
if motion_detected():
turn_relay_on()
time.sleep(1800) # 30 minutes en secondes
turn_relay_off()
time.sleep(1) # Attente d'une seconde avant la prochaine lecture