Bonjour à tous.
J'aurais besoin de quelqu'un qui si connais en Arduino car la je bloque.
Voici se que je voudrais faire :
Lorsque j'appuis sur un bouton poussoir (appuis puis relâche), le relais_EV (relais pour une électrovanne) se ferme.
Le débitmètre commence à compter le débit (il fonctionne par impulsions) donc une variable compte le nombres d'impulsions et quand j'arrive aux nombres souhaité je coupe l'électrovanne (relais_EV en position ouvert).
Mais je bloque sur le bouton poussoir. Je suis obligé de resté appuyé pour que le relais soit fermé, du coup je ne peux pas tester la partie débitmètre (je ne sais pas si elle fonctionne).
Comme vous pouvez le voir, j'ai essayé de mettre une variable (valeur_bouton) qui est censé ce mettre à "1" quand j'appuis sur le bouton poussoir mais dès que je relâché le bouton elle doit apparemment ce remettre a "0", enfin c'est se que je pence.
Pouvez-vous m'aidé SVP ca serait super!
Merci d'avance.
PS : J'ai oublié de préciser que ce code compile.
Code:#define relais_EV 13 //le relais de l'électrovanne est connecté à la broche 3 de la carte Adruino const int bouton_NO = 4; //le bouton NO est connecté à la broche 4 de la carte Adruino const int debitmetre = 3; //le débit mètre est connecté à la broche 2 de la carte Arduino int etat_bouton_NO; //variable qui enregistre l'état du bouton int etat_debitmetre; //variable qui enregistre l'état du débit mètre int Nb_impulsion; //variable qui enregistre le nombre d'impulsions du débitmètre int valeur_bouton; // variable memoire du bouton NO void setup() { pinMode(bouton_NO, INPUT); //le bouton est une entrée pinMode(relais_EV, OUTPUT); //le relais de l'électrovanne est une sortie digitalWrite(relais_EV, HIGH); //on initialise le relais de l'électrovanne comme "éteint" pinMode(debitmetre, INPUT); //le débit mètre est une entrée } void loop() { etat_debitmetre = digitalRead(debitmetre); etat_bouton_NO = digitalRead(bouton_NO); if(etat_bouton_NO == LOW ) // Si variable etat_bouton_NO est a l'état bas (low) { valeur_bouton = 1; // alors la variable valeur_bouton se mets a 1 } if(valeur_bouton == 1) // Si la variable valeur_bouton est égale 1 { digitalWrite(relais_EV, LOW); // alors le relais_EV se ferme } if(etat_debitmetre == LOW) //Si le débitmètre est en position "fermé" { Nb_impulsion++; //on incrémente de "1" la variable Nb_impulsion } if(Nb_impulsion >= 10); //Si la variable Nb_impulsion est inférieur ou égale à "10" { digitalWrite(relais_EV, HIGH); //Alors le relais de l'électrovanne se ferme valeur_bouton = 0; // Je remets la variable valeur_bouton a "0" } }
-----