probleme code arduino

a marqué ce sujet comme résolu.
Auteur du sujet

Bonjour!

Voilà j’ai essayé de faire une uselessbox en suivant un tuto et en récupérant un bout de code que vous trouverez ICI et le montage ici (sauf que j’ai branché sur le pin 3, et changé la partie du code correspondante) Seulement le montage ne cesse jamais, que je clique ou pas sur le bouton…

Donc j’ai voulu essayer de faire un programme pour voir comment mon bouton fonctionnait (je me demande si il n’y a pas un condensateur qui fait que bien rr.com que le bouton soit sur off, il puisse y avoir encore du courant un peu après son extinction). Donc mon idée est de mesurer le temps entre un ON/OFF, pour voir si par exemple il met systématiquement au moins 1sec que le condo se décharge. J’ai fait le code suivant : int pin=3; //pin 3 comme entrée int niveau=1; // initialise la séquence sur 1 int val=0; int tempsAncien = 1; int tempsNouveau =1; int tempsTotal = 0; void setup() {

pinMode(pin, INPUT); Serial.begin(9600); Serial.println("go ");

}

void loop() {

val=digitalRead(pin); if (niveau == 1 && val == HIGH) // si je suis a l’etape 1 et que le pin 3 est HIGH { tempsAncien = millis(); niveau = 2 ; // passe a l’étape 2 } else if( niveau == 2 && val == LOW) // si je suis a l’étape 2 et que le pin 3 est LOW { tempsNouveau = millis(); tempsTotal = tempsNouveau-tempsAncien; Serial.println(tempsTotal); // affiche le temps entre le passage haut et bas du pin 3 niveau = 1; // retourne a l’etape 1 } else { //sinon ne rien faire } } Seulement quand je lance le programme, il m’affiche un temps à chaque clic sur le bouton, que je switch du + au - ou inversement. Et de plus si je manipule l’arduino, les chiffres se mettent à défiler comme si il avait plein de +/- -/+ en permanence. Pourtant j’ai vérifier, je n’ai pas l’impression d’avoir de faux contact. Peut-être mon code est-il mauvais?

Édité par kilentin

+0 -0

Salut, tu as probablement un « rebond » sur l’activation du bouton. Deux solutions :

  • Logiciel : Filtré l’état du bouton pendant plusieurs cycles. Et maintenir un « état confirmé », c’est celui-ci que tu dois utiliser dans tes tests.
  • Hardware : Ajoute un condensateur autour de ton bouton. Tu trouveras facilement le schéma sur le net.
+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte