Bonjour,
je me suis lancé dans un projet en autodidacte : "tape-taupe" avec boutons poussoirs lumineux. Chaque bouton poussoir appuyé me donne une tension "spécifique" sur l'entrée A0 (pont de résistance).
Je veux tester la valeur de cette tension pour juger si le bon BP a été appuyé.
Comme mes tensions fluctuent lorsque j'appuie sur le BP, je voudrais accepter par exemple des tensions entre 60 et 120 mV pour le 1e BP. J'ai testé la condition :
Je pense que pour y voir plus claire, il faudrait aussi un aperçut du schéma de câblage.
Ensuite, n'ayant pas l'integralité du code, on ne voit pas vraiment ce que vous voulez faire en code.
Toujous est'il que "analogRead" donne un résultat en 10, 12 ou 14 bits selon le modéle d'Arduino.
Admettons que se soit en 10 bits, ce serait un résultat entre 0 et 1023.
avec une réference de tension de 5V.
-Convertir 60mV en 10 bits donne 1023/50.06=13
-Convertir 120mV en 10 bits donne 1023/50.12=25
-Convertir 950mV en 10 bits donne 1023/5*0.95=195
Dans
(60<analogRead(A0) && analogRead(A0)<120 )
Vos seuils ne doivent pas être en mV mais en valeurs numérique
pas vraiment d'erreur mais vous faites deux lectures consécutives de A0 donc il se peut qu'entre temps avec les rebonds la valeur ait varié et donc la comparaison n'est pas "constante"
écrivez plutôt
int valeurBouton = analogRead(A0);
if (valeurBouton > 60 && valeurBouton < 120) {
...
}
là au moins vous êtes sûr que vous utilisez la même valeur dans la comparaison.