Bonjour tout le monde !
Je tente de réaliser un compteur qui ajoute et enlève 1 au compteur à chaque appui sur le bouton respectif (j'ai donc aux totaux deux boutons).
Et donner le résultat sur un écran lcd.
Donc normalement lorsque j'appuie sur le "+", ça ajoute 1 au compteur, et si j'appuie sur lé "-", ça en enlève 1.
Le problème étant que je ne comprends pas vraiment comment cela ce fait-il que lorsque j'appuie sur le bouton "+", ça ne prend pas en compte que 1 clic, comme je l'ai fait avec le "-".
Bon, j'espère bien vous avoir expliqué la situation, voila le code :
#include <Wire.h> //Librairies obligatoire
#include "rgb_lcd.h" //Librairie de l'écran
rgb_lcd lcd; //Obligatoire aussi
int pinMoins = 8; //Déclaration des variables globales
int pinPlus = 7;
int compteur = 0;
int drapeau1;
int drapeau;
int test = 0;
void setup()
{
pinMode(pinPlus, INPUT_PULLUP); //Déclare pinPlus et pinMoins comme entrées pullup
pinMode(pinMoins, INPUT_PULLUP);
lcd.begin(16, 2); //Défini l'écran faisant 16 sur 2
lcd.setRGB (255, 0 , 255); //Met l'écran en violet (rouge + bleu)
lcd.print(0); //Affiche un 0 sur l'écran
}
void loop()
{
int capteurPlus = digitalRead (pinPlus);//Les valeurs de la pinPlus sont mit dans capteurPlus
int capteurMoins = digitalRead (pinMoins);//Les valeurs de la pinMoins sont mit dans capteurMoins
if (capteurPlus == 0 || capteurMoins == 0 && drapeau == 0) {
lcd.clear();
if (capteurPlus == 0) {
compteur++;
}
if (capteurMoins == 0) {
compteur--;
}
test = 1;
drapeau = 1;
}
if (((capteurPlus == 1 || capteurMoins == 0) && (capteurPlus == 0 || capteurMoins == 1) && (capteurPlus == 1 && capteurMoins == 1)) && drapeau == 1) //Y'a surement une merde sur cette ligne, mais je comprend pas pourqoi
drapeau = 0;
if (test == 1) { //Permet d'afficher le compteur qu'un seule fois
lcd.print(compteur);
test = 0;
}
}
Merci d'avance pour vos réponses