Piloter deux moteurs par le biais de deux boutons poussoirs et d'un L298P
Bonjour à tous,
J'ai un petit problème avec mon code; ma condition n'est pas prise en compte.
j'essaie d'alimenter deux moteurs, enfin on va partir sur un pour l'explication.
Ce que je veux faire:
Lorsque j'appui sur le bouton poussoir (BP1), le moteur (M1) tourne pendant 5sec sinon le moteur ne tourne pas.
Idem pour BP2 et M2.
Mais mon moteur tourne en continu comme si je n'avais rien mis devant l'ordre de rotation.
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| int E1 = 10;
int M1 = 12;
int E2 = 11;
int M2 = 13;
int BP1 = 3;
int BP2 = 5;
void setup()
{
pinMode(3,INPUT);
pinMode(M1, OUTPUT);
pinMode(M2, OUTPUT);
}
void loop()
{
if (digitalRead(BP1==HIGH))
{
digitalWrite(M1,HIGH);
analogWrite(E1, 230);
delay(5000);
}
else
{
digitalWrite(M1,LOW);
analogWrite(E1, 0);
}
if (digitalRead(BP2==HIGH))
{
digitalWrite(M2,HIGH);
analogWrite(E2, 230);
delay(5000);
}
else
{
digitalWrite(M2,LOW);
analogWrite(E2, 0);
}
} |
Est-ce que quelqu'un peu m'expliquer pourquoi cela ne marche pas ?
Merci d'avance