telerupteur

Bonjour, a force de recherche et d'essai je suis arriver à ce code qui remplace un télérupteur . J'appuis sur le BP il allume une led et je rappuis eh ben elle s'éteint pas . Ma logique me dit que c'est pas possible. Et pourtant !!

const int BpResetBroche = 9; // BP reset
int FindecourseRESET = 0; // Fin de course contact no
int ResetEtatBouton = 0;
int ResetEtatBoutonPrecedent = 0;


}

void loop() {
  ResetEtatBouton = digitalRead(BpResetBroche);
  Serial.print ("etat bouton=");
 Serial.print (ResetEtatBouton);
  
 

  
  


  if ((ResetEtatBouton == LOW ) && (ResetEtatBoutonPrecedent == HIGH ))
  {
    digitalWrite(3, HIGH);
  }

  ResetEtatBoutonPrecedent=ResetEtatBouton;
}

Postez tout le code...là c’est n’importe quoi, il en manque un bout

je ne vois pas de ligne de code qui met la broche 3 à LOW... donc qui est supposé éteindre cette led ?

De plus, sans gestion de rebonds, ce code a peu de chance de fonctionner correctement.

Pardon , je voulais pas tout envoyer pour pas compliqué davantage . Je fais beaucoup d’essais et je m’embrouille facilement .
Voila le code . C’est vrai qu’il y a un fin de course de plus parce que a terme je voudrai que se soit lui qui éteint la led .
Mais je me dit qu’il faudrait déjà que je comprenne pourquoi mon télérupteur ne l’éteint pas .
Sur ce code,le dernière ligne du code inverse l’état des contacts . Cela devrait fonctionner sans rien rajouter ?

const int BpResetBroche = 9; // BP reset
const int FindecourseResetBroche = 7; // Fin de course
int LedPinBroche=3;
int ResetEtatBouton = 0;
int ResetEtatBoutonPrecedent = 0;

void setup()
{
  pinMode(FindecourseResetBroche , INPUT_PULLUP);
  pinMode( BpResetBroche, INPUT_PULLUP);
  pinMode( 3, OUTPUT);

  Serial.begin (9600);
}

void loop() {

  ResetEtatBouton = digitalRead(BpResetBroche);

  Serial.print ("etat bouton=");
 Serial.print (ResetEtatBouton);
  
 

  if ((ResetEtatBouton == LOW ) && (ResetEtatBoutonPrecedent == HIGH ))
  {
    digitalWrite(3, HIGH);
  }

  ResetEtatBoutonPrecedent=ResetEtatBouton;
}

Si tu lisais les réponses ?

J-M-L:
Postez tout le code...là c’est n’importe quoi, il en manque un bout

je ne vois pas de ligne de code qui met la broche 3 à LOW... donc qui est supposé éteindre cette led ?

Je traduis :

   digitalWrite(3, HIGH);

Ou se trouve ceci :

   digitalWrite(3, LOW);

Eh bien pas moyen de le rajouter . Je comprends pas . Il me serait plus simple de le mettre ce télérupteur .
Ca m'éénerve

Demandez vous quand faut il éteindre la led en fonction de vos conditions actuelles et précédentes

Sinon Pour simplifier votre gestion des boutons, éventuellement utilisez la librairie de @bricoleau