- Rémi,
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 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?