/*attiny monostable non redéclenchable
  01/11/2023
  Dominique Hudry
  lien: https://wokwi.com/projects/380191093552644097
*/

const byte PinBP = 0; // branchement du BP
const byte Sortie =  1; // branchement de la Led
const int Temporisation = 2000; // durée de l'allumage de la Led
bool etatBP;// BP relaché: HIGH  BP appuyé: LOW
bool validation ;

void setup() {
  pinMode(PinBP, INPUT_PULLUP);
  pinMode(Sortie, OUTPUT);
  digitalWrite(Sortie, LOW);  
} // fin setup

void loop() {
  etatBP = digitalRead (PinBP); // lecture de l'état du BP
  delay(50); // pour anti rebond
  if (etatBP == HIGH ) {
    validation = true;
  }

  if (etatBP == LOW && validation == true) { // conditions pour un déclenchement
    digitalWrite(Sortie, HIGH); // la Led s'allume durant une durée déterminée
    delay(Temporisation);
    digitalWrite(Sortie, LOW);
    validation = false; // les redéclenchements sont bloqués
  }
} // fin loop
ATTINY8520PU