Bonjour à tous,
Je suis débutant avec Arduino et je dois réaliser un projet avec une carte Arduino Uno avec un Shield. J’ai 3 LED et 3 boutons poussoirs qui sont respectivement en positions D2, D3, D4 et A0, A1, A2. J’ai réussi à faire un code qui permet de les allumer lors de la pression et l’éteindre lors d’une deuxième pression. Mais ce n’est pas suffisant, il faudrait les faire clignoter, j’ai essayer d’utiliser une IA pour avoir un code fonctionnel et cela rendait des led qui clignotaient toute seule qui bugaient.
Je voudrais avoir de l’aide svp,
Voici mon code actuel :
//Définition des pins de la LED et du bouton poussoir
int ledPinG = 4;
int ledPinM = 3;
int ledPinD = 2;
int buttonPinG = A0;
int buttonPinM = A1;
int buttonPinD = A2;
//Variable pour stocker l'état précédent du bouton poussoir
int previousStateG = LOW;
int previousStateM = LOW;
int previousStateD = LOW;
//Variable pour stocker l'état actuel du bouton poussoir
int buttonStateG = 0;
int buttonStateM = 0;
int buttonStateD = 0;
//Variable pour stocker l'état de la LED
int ledStateG = LOW;
int ledStateM = LOW;
int ledStateD = LOW;
void setup() {
//Initialisation des pins de la LED et du bouton poussoir
pinMode(ledPinG, OUTPUT);
pinMode(ledPinM, OUTPUT);
pinMode(ledPinD, OUTPUT);
pinMode(buttonPinG, INPUT);
pinMode(buttonPinM, INPUT);
pinMode(buttonPinD, INPUT);
}
void loop() {
// - DÉBUT BOUTON GAUCHE -
buttonStateG = digitalRead(buttonPinG);
if (buttonStateG == HIGH && previousStateG == LOW) {
ledStateG = !ledStateG; //Inversion de l'état de la LED
}
if (ledStateG == HIGH) {
digitalWrite(ledPinG, HIGH);
} else {
digitalWrite(ledPinG, LOW);
}
previousStateG = buttonStateG;
// - FIN BOUTON GAUCHE -
// - DÉBUT BOUTON MILIEU -
buttonStateM = digitalRead(buttonPinM);
if (buttonStateM == HIGH && previousStateM == LOW) {
ledStateM = !ledStateM; //Inversion de l'état de la LED
}
if (ledStateM == HIGH) {
digitalWrite(ledPinM, HIGH);
} else {
digitalWrite(ledPinM, LOW);
}
previousStateM = buttonStateM;
// - FIN BOUTON MILIEU -
// - DÉBUT BOUTON DROIT -
buttonStateD = digitalRead(buttonPinD);
if (buttonStateD == HIGH && previousStateD == LOW) {
ledStateD = !ledStateD; //Inversion de l'état de la LED
}
if (ledStateD == HIGH) {
digitalWrite(ledPinD, HIGH);
} else {
digitalWrite(ledPinD, LOW);
}
previousStateD = buttonStateD;
}
// - FIN BOUTON DROIT -
Merci d’avance pour vos réponses ![]()