/*attiny bistable1
Dominique Hudry
liens: https://www.e-genieclimatique.com/arduino-code-source-videos-e-genieclimatique-youtube-tmetlardy/#algotelerupteur
https://wokwi.com/projects/380182764833106945
à la mise sous tension le BP est au repos et la led est éteinte
si appui sur BP la led s'allume
on relache le BP la led reste allumée
nouvel appui sur BP la led s'éteint
on relache le BP la led reste éteinte
*/
const byte PinBP = 0;
const byte PinLed = 1;
bool etatBP; // BP relaché: HIGH, BP appuyé: LOW
bool precedentEtatBP = HIGH; // état initial
bool etatLed = LOW;
void setup() {
pinMode(PinBP, INPUT_PULLUP); // PinBP en entrée avec pullup
pinMode(PinLed, OUTPUT); // PinLed en sortie
} // fin setup
void loop() {
etatBP = digitalRead (PinBP); // lecture de l'état du BP
delay(50); // pour anti rebond
if ((etatBP == LOW) && (precedentEtatBP == HIGH)) {
etatLed = !etatLed; // inversion de etatLED
} // fin if
precedentEtatBP = etatBP; //sauvegarde de l'état précédent du BP
digitalWrite(PinLed, etatLed); // la led s'allume ou s'éteint fonction de etatLed
} // fin loop