bonjour je crée un nouveau post car personne n'a repondu au precedant (surement que personne n'a vu)
j'ai fais un programme affin d'incrementer un compteur avec un bouton pour faire varier un rapport cyclique
a present je souhaite aussi rajouter un bouton pour decrementer
j'ai fais ce programme mais il ne marche pas:
pourriez vous y jeter un oeil et me dire ce qui ne vas pas?
const int moteurV = 9;//broches uilisées
const int moteurF = 10;
const int buttonPinVplus = 7;
const int buttonPinVmoin = 8;// crée un identifiant pour la broche utilisée avec le bouton poussoir
// Les variables sont modifiées au cours du programme
int buttonPushCounterV = 0; // variable pour le comptage du nombre d'appuis sur le bouton poussoir
int buttonStateVplus = 0; //Variable pour l'état actuel du bouton poussoir
int lastButtonStateVplus = 0; // Variable pour l'état précédent du bouton poussoir
int buttonStateVmoin = 0;
int lastButtonStateVmoin = 0;
void setup()
{
//definition des broches en sortie
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(buttonPinVplus, INPUT);
pinMode(buttonPinVmoin, INPUT);
}
void loop ()
{
// lit l'état actuel du bouton poussoir et le mémorise dans la variable
buttonStateVplus = digitalRead(buttonPinVplus);
buttonStateVmoin = digitalRead(buttonPinVmoin);
if(buttonStateVmoin!=lastButtonStateVmoin)
{
if (buttonStateVmoin ==HIGH)
{ buttonPushCounterV--;
delay(100);
lastButtonStateVmoin = buttonStateVmoin;
}
// compare l'état actuel du bouton poussoir à l'état précédent mémorisé
if (buttonStateVplus!=lastButtonStateVplus)
{
// si l'état du bouton poussoir a changé et est HAUT, on incrémente la variable de comptage
if (buttonStateVplus == HIGH) {
// si l'état actuel du bouton est HAUT
// il est passé de BAS à HAUT
buttonPushCounterV++;
delay (100);
//mémorise l'état courant du bouton poussoir
//pour les prochains passages dans la boucle loop
lastButtonStateVplus = buttonStateVplus;
}
}
}
if(buttonPushCounterV < 0) buttonPushCounterV =0;
if(buttonPushCounterV > 10) buttonPushCounterV =10;
switch (buttonPushCounterV)
{
case 1:
analogWrite(9, 33);
break;
case 2:
analogWrite(9, 38);
break;
case 3:
analogWrite(9, 48);
break;
case 4:
analogWrite(9, 68);
case 5:
analogWrite(9, 75);
break;
case 6:
analogWrite(9, 88);
case 7:
analogWrite(9, 95);
break;
case 8:
analogWrite(9, 123);
break;
case 9:
analogWrite(9, 135);
break;
case 10:
analogWrite(9, 148);
break;
default:
analogWrite(9, 0);
break;
}
}
merci d'avance