J'ai utilisé 4 bibliothèques (dans le ZIP):
- LiquidCrystal.h: pour gérer l'affichage LCD
- RGBLED.h: pour les 2 LED RVB
- Servo.h: pour les 2 servomoteurs
- PID_v1.h: pour le contrôle de température PID
L'écran affiche en continu la température, le niveau d'humidité et le niveau de luminosité (1 à 10)
Les boutons + et - (haut et bas) règlent la température
Les boutons < et > (gauche et droite) règlent le seuil de luminosité pour déclencher l'éclairage
Les lumières ne peuvent s'allumer / s'éteindre que toutes les 60 secondes pour éviter des déclenchements intempestifs.
Le groupe chauffage + ventilation + portes est contrôlé par la même partie de code:
Si la température dépasse le point de consigne + 2 ° C (ex 30/27 ° C):
- Les LED s'allument en bleues
- Le chauffage s'éteint
- Les portes s'ouvrent (indiqués par des LED orange / bleues)
- Le ventilateur tourne
Si la température est inférieure à la consigne - 2 ° C (ex 24/27 ° C):
- Les LED s'allument en rouge
- Le chauffage démarre
- Les portes se ferment (indiquées par des LED orange / bleues)
- Le ventilateur s'arrête
Dans les autres cas (ex 28/27 ° C):
- Les LED s'allument en vert
- Le chauffage reste en veille
- Les portes restent fermées
- Le ventilateur reste arrêté