Probleme programme pour machine à sirop automatique

Bonjour a tous,

je suis nouveaux sur ce forum ,je suis en terminal system numérique et pour mon projet de fin d’année j’ai choisi de faire un distributeur de sirop/pastis grâce a des pompes .

je viens sur ce forum pour demander votre aide a propos de mon programme e plus particulièrement l’affichage du menu en 3 étape/choix (Claire comme de l’eau de roche ! /Jaune comme le soleil ! / Pas plus haut que le bord ! ) le but de cet affichage serais de pouvoir choisir la dose d’additif (déterminée par la variable “dureeEau” et dureeAdditif" contenu dans le réservoir 1 pour l’eau et 2 pour l’ additif qui seront respectivement distribuée par les pompe 1 pour l’eau et 2 pou l’additif distribuer par la pompe 2 .
le problème que je rencontre c’est que je ne parvint pas a faire un affichage a plusieurs choix qui permette de changer la variable de durée d’activation des pompe selon le choix choisie sur mon écran LCD I2C s’affiche seulement le premier écran " Claire comme de l’eau de roche !".
voici le programme je peut le mettre seulement en lien google car les nouveaux utilisateur du forum ne peuvent pas déposer de fichier désolée : programme .ino !et voici le shama de montage de mon écran ainsi que de mes bouton
shema montage ecran|690x380

merci de votre attention .

Bonsoir,
ça c’est pas bon

if (digitalRead(select) == 1)
Select n’est pas une broche d’entrée

Il faut mettre en place un anti-rebonds pour la lecture des boutons
Essaye la librairie simplebouton

ça c’est à corriger

if (val1 == HIGH )
par
if (val1 == LOW ) bouton actif à l’état bas

Quoi ? Pomper du pastis ? Sacrilège !!! :flushed:

1 Like

D’accord je vais modifier comme vous me le conseillez.

Je peut faire comment pour lire l’état de la variable "select "?

vous ne pouvez pas non plus mettre cela en en-tête et espérer que la contrainte soit appliquée tout le temps. Il faut vérifier la valeur de select à chaque modification

int select = constrain(select, 1, 3); // declaration variable "select"

c’est typiquement une définition de programme qui se prête bien à la programmation par machine à états (cf mon tuto éventuellement) (les images ont pour le moment disparu à cause du nouveau forum, l’équipe Arduino travaille à les réparer)

:grinning:

et pour faire du pastis armé y a çà :trophy:

D’accord merci je vous tien au courant lorsque je vais réessayer de modifier le programme.