#include "LedControl.h"
/*
Pin 4 connectée à DIN du MAX7219
Pin 2 connectée à CLK du MAX7219
Pin 3 connectée à CS du MAX7219
Variable NUMERIQUE "HUMIDITE" issue de la CAN sur A0
Seuil d'arrosage "HUMIDITE < 300 : Icone plante qui souffre / arrosoir
"HUMIDITE > 300 : Icone plante qui va bien
"HUMIDITE > 700 : Terre inondée / stop arrosage !
(Avec un hystérésis de 100...)
*/
LedControl matrice = LedControl(4, 2, 3, 1);
void setup() {
matrice.clearDisplay(0);
matrice.shutdown(0,false);
matrice.setIntensity(0,8);
}
void loop() {
int humidity = analogRead(0);
if(humidity < 250){
matrice.clearDisplay(0);
// ================ PAS CONTENTE ================
matrice.setLed(0,1,1,true);
matrice.setLed(0,2,2,true);
matrice.setLed(0,3,2,true);
matrice.setLed(0,4,2,true);
matrice.setLed(0,5,2,true);
matrice.setLed(0,6,1,true);
matrice.setLed(0,1,5,true);
matrice.setLed(0,2,5,true);
matrice.setLed(0,2,6,true);
matrice.setLed(0,6,5,true);
matrice.setLed(0,5,5,true);
matrice.setLed(0,5,6,true);
delay(1000);
matrice.clearDisplay(0);
// ================ ARROSOIR ================
matrice.setLed(0,0,0,true);
matrice.setLed(0,0,1,true);
matrice.setLed(0,0,2,true);
matrice.setLed(0,0,3,true);
matrice.setLed(0,0,4,true);
matrice.setLed(0,1,0,true);
matrice.setLed(0,1,3,true);
matrice.setLed(0,1,5,true);
matrice.setLed(0,2,0,true);
matrice.setLed(0,2,3,true);
matrice.setLed(0,2,5,true);
matrice.setLed(0,3,0,true);
matrice.setLed(0,3,3,true);
matrice.setLed(0,3,5,true);
matrice.setLed(0,4,0,true);
matrice.setLed(0,4,1,true);
matrice.setLed(0,4,2,true);
matrice.setLed(0,4,3,true);
matrice.setLed(0,4,4,true);
matrice.setLed(0,5,2,true);
matrice.setLed(0,6,3,true);
matrice.setLed(0,7,2,true);
matrice.setLed(0,7,4,true);
delay(1000);
}
if(humidity > 350 && humidity <= 700) {
matrice.clearDisplay(0);
// ================ CONTENTE ================
matrice.setLed(0,1,2,true);
matrice.setLed(0,2,1,true);
matrice.setLed(0,3,1,true);
matrice.setLed(0,4,1,true);
matrice.setLed(0,5,1,true);
matrice.setLed(0,6,2,true);
matrice.setLed(0,1,5,true);
matrice.setLed(0,2,5,true);
matrice.setLed(0,2,6,true);
matrice.setLed(0,1,6,true);
matrice.setLed(0,6,5,true);
matrice.setLed(0,6,6,true);
matrice.setLed(0,5,5,true);
matrice.setLed(0,5,6,true);
}
if(humidity > 700) {
matrice.clearDisplay(0);
// ============= STOP WATER !================
matrice.setLed(0,0,0,true);
matrice.setLed(0,1,1,true);
matrice.setLed(0,2,2,true);
matrice.setLed(0,3,3,true);
matrice.setLed(0,4,4,true);
matrice.setLed(0,5,5,true);
matrice.setLed(0,6,6,true);
matrice.setLed(0,7,7,true);
matrice.setLed(0,7,0,true);
matrice.setLed(0,6,1,true);
matrice.setLed(0,5,2,true);
matrice.setLed(0,4,3,true);
matrice.setLed(0,3,4,true);
matrice.setLed(0,2,5,true);
matrice.setLed(0,1,6,true);
matrice.setLed(0,0,7,true);
delay(200);
matrice.clearDisplay(0);
// ================ ARROSOIR ================
matrice.setLed(0,0,0,true);
matrice.setLed(0,0,1,true);
matrice.setLed(0,0,2,true);
matrice.setLed(0,0,3,true);
matrice.setLed(0,0,4,true);
matrice.setLed(0,1,0,true);
matrice.setLed(0,1,3,true);
matrice.setLed(0,1,5,true);
matrice.setLed(0,2,0,true);
matrice.setLed(0,2,3,true);
matrice.setLed(0,2,5,true);
matrice.setLed(0,3,0,true);
matrice.setLed(0,3,3,true);
matrice.setLed(0,3,5,true);
matrice.setLed(0,4,0,true);
matrice.setLed(0,4,1,true);
matrice.setLed(0,4,2,true);
matrice.setLed(0,4,3,true);
matrice.setLed(0,4,4,true);
matrice.setLed(0,5,2,true);
matrice.setLed(0,6,3,true);
matrice.setLed(0,7,2,true);
matrice.setLed(0,7,4,true);
delay(100);
}
delay(500);
}