Problème de bouton poussoir

Bonjour à tous

débutant en programmation Arduino

Je viens vers vous suite à une erreur de fichier joint

je rencontre un problème dans le développement d'un projet
Ouverture d'un Portail simple battant.

le système se compose de deux boutons poussoir de deux relais d'un moteur et d'une lampe avertisseur de mouvement.

Lors de la pression sur le 1er bouton la lampe dois s'allumer 5 secondes avant la mise en route du moteur le battant se met en mouvement et atteint le 2éme bouton poussoir qui sert de fin de course et dois arrêter le moteur et la lampe.

Mon problème se situe au niveau de le détection fin de course les deux moteur et lampe ne s'éteignent pas .

Fichiers joints breakboard et codes

Merci de m' aider

bien à vous

moustique56

2 Boutons poussoir + relais et led.pdf (271 KB)

Bonjour
Ici, c'est plutôt un forum en langue anglaise : tu auras peu de réponses, tu devrais poster sur la partie française. De plus, mettre ton code dans un document pdf n'est pas confortable pour ceux qui voudront t'aider.

Lis les messages épinglés en haut du forum français (lien ci-dessus) pour savoir comment poster correctement. Merci

Bonjour,

Essaye de t'inspirer de l'algo ci dessous :

 unsigned long currentMillis = millis();

 // Si bouton 1 appuyé 
 if (bouton_1 == high) {
	// Temporisation anti-rebonds
	delay(50);
	// Sauvegarde etat bouton 1
	etat_bouton_1 = true; 
 }
 
// Lancer une temporisation de 5sec si bouton_1 appuyé  et aucune tempo en cours 
  if (currentMillis - previousMillis <= interval && etat_bouton_1 == true && fin_tempo == false) {
	  
		previousMillis = currentMillis;
		// Allumé la LED
		ledState = true;
		
		
  }
  else {
	// Indiquer fin de tempo 
	fin_tempo = true;
  }
  
  // Si tempo terminée 
  if (fin_tempo == true) {
	
	// Eteindre la LED
	ledState = false;
		
		// Fermer le portatil que le portail n'a pas touché fin de course 
		while (etat_fin_de_course == low) {
		
		fermer_portail();
			
			// Si fin de course activé 
			if (etat_fin_de_course == high) {
				// Temporisation anti-rebonds
				delay(50);
			
				arreter_fermeture_portail();
				
				// Autoriser une prochaine tempo
				fin_tempo == false
				
				// RAZ etat_bouton_1
				etat_bouton_1 = false; 
				
				break;
			}
			
		}
	
	}

Bonjour et merci Standby

Désolé pour le retard de réponse j'essaye bientôt