Bouton Poussoir et temporisation

Bonjour à tous.

Etant tout nouveau dans le dev et arduino. J'ai suivi plusieurs cours et tutoriel mais je n'arrive pas en vain à réaliser mon projet pourtant très basique..

Dans un premier temps j'ai réussi à mettre en place un seul bouton pour allumer et éteindre une led avec la mémorisation de l'état.

const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  10;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status
int ledState = 0;
int pushState = 0;

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);      
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT_PULLUP);
  digitalWrite(ledPin, HIGH);  
}

void loop() {
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);
      
  if(buttonState == HIGH && ledState == LOW) {
    pushState = 1-pushState;
    delay(100);
  }
  
  ledState = buttonState;
  
  if(pushState == HIGH) {
    digitalWrite(ledPin, LOW);
  }else{
    digitalWrite(ledPin, HIGH);
  }
 delay(100);
}

Maintenant j'aimerai rajouter une temporisation. Par exemple lorsque la led est allumé et que le bouton n'est pas pressé, mettre un delais de 2min (par exemple) et puis la led s'etteint.

J'ai essayé plusieurs variante et plusieurs morceaux de code mais je ne trouve pas de solution.

J'ai effectué plusieurs recherche sur le net mais je ne trouve pas d'exemple me permettant d'avancer.

Bien que simple dans sa définition (et donc codable sans trop de formalisme) c’est typiquement une définition de programme qui se prête bien à la programmation par machine à états —> cf mon tuto éventuellement

Je viens de lire votre tutoriel ! Super travail ! Je vais m'y mettre ce week end ! merci ! C'est exactement ce qu'il me fallait pour progresser !

Grâce à la méthode de “machine à état” j’ai compris le raisonnement et j’ai réussi à mettre en place ma tempo facilement !

Merci beaucoup ! et super travail !

Si vous avez d’autre tutoriel ou exemple d’utilisation sur les machine à état je suis preneur.

Bravo!

Si vous cherchez d’autres tutos - Regardez les post sur comprendre comment bien écouter le port série (ou gérer un flux asynchrone genre keypad) vous pouvez jeter un oeil à mon petit tuto sur le sujet

C’est aussi une machine à état toute simple qui bâtit une phrase

De manière générale lire la section des tutos sur ce forum et lire les tutos d’eskimon ça vous aidera à progresser