Je viens vers vous car j'ai besoin d'aide sur un de mes programmes arduino.
Le but de ce programme est de faire fonctionner un moteur a partir d'une donnée analogique (dans mon cas un capteur de niveau d'eau).
Mais simplifions et imaginons juste que ce soit une led que je veux allumer avec un potentiometre.
Je voudrais que a partir du moment ou la valeur lue est inférieur a 300 (mesure que j'ai faite), la led s'allume jusqu'a ce que la valeur 380 soit atteinte.
Mais malgré plusieurs tentative diverse je ne trouve pas la bonne... peut etre que l'un d'entre vous la ?
Vous trouverez avec cela mon code simplifié (avec la led).
Dans ta boucle while tu ne relis pas le potentiomètre donc tu ne vas jamais en sortir
Mais tu n'as pas besoin de boucle while, il suffit d'allumer la led quand pot est inférieur à 300 et de l'éteindre quand pot est supérieur à 380
void loop()
{
pot = analogRead(A0);
Serial.println(pot);
if (pot < 300)
digitalWrite(8, HIGH);
if (pot > 380)
digitalWrite(8, LOW);
delay(10); // Delay a little bit to improve simulation performance
}
Si tu veux fignoler tu peux mettre un else if à la place du deuxième if
L’avantage de cette méthode c’est que le programme peut faire autre chose pendant que ta pompe tourne. Avec un « while » tu t’enfermes dans la condition « tant que » justement elle n’est pas remplie