1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| const byte pinInterrupteur = 2; // l'interrupteur est connecté sur la broche 2 (du 5V pas du 240! j'ai utilisé une mini alim de led)
long temps1; // variable qui stocke la mesure du temps (Lumière allumée, retard extracteur)
long temps2; // variable qui stocke la mesure du temps (Lumière éteinte, maintien extracteur)
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(pinInterrupteur, INPUT); // Entrée Interrupteur (5V)
pinMode(13, OUTPUT); //LED on Model A (pin pour piloter un relais)
temps1 = millis();// on initialise le temps
temps2 = millis();// on initialise le temps
digitalWrite(13, LOW); // led éteinte
}
void loop() // the loop routine runs over and over again forever
{
if (digitalRead(pinInterrupteur) == HIGH) { // si inter ON
if ((millis() - temps1) > 90000) //1minute 30
{
digitalWrite(13, HIGH); // Allume led
temps2 = millis(); // on stocke la nouvelle heur
}
else { // sinon
digitalWrite(13, LOW); // led éteinte
}
}
else {
digitalWrite(13, LOW); // led éteinte
temps1 = millis(); // on stocke la nouvelle heure
if ((millis() - temps2) < 120000) //2 minutes
{
digitalWrite(13, HIGH); // Allume led
}
else { // sinon
digitalWrite(13, LOW); // led éteinte
}
}
} |
Partager