char character;
int bouton_left = 8; // Déclaration du pin du bouton gauche
int Led_left = 9; // Déclaration du pin de la LED gauche
int bouton_right = 10; // Déclaration du pin du bouton droit
int Led_right = 11; // Déclaration du pin de la LED droite
int etatbouton_left;
int etatbouton_right;
bool messageLeftEnvoye = false; // Variable pour garder une trace de l'état d'envoi du message "left"
bool messageRightEnvoye = false; // Variable pour garder une trace de l'état d'envoi du message "right"
void setup() {
// Configuration initiale, exécutée une fois au démarrage
pinMode(bouton_left, INPUT_PULLUP); // Configurer le bouton gauche comme une entrée avec résistance de pull-up
pinMode(Led_left, OUTPUT); // Configurer la LED gauche comme une sortie
pinMode(bouton_right, INPUT_PULLUP); // Configurer le bouton droit comme une entrée avec résistance de pull-up
pinMode(Led_right, OUTPUT); // Configurer la LED droite comme une sortie
Serial.begin(9600); // Initialiser la communication série à une vitesse de 9600 bauds
}
void loop() {
// Boucle principale, s'exécute en continu
etatbouton_left = digitalRead(bouton_left); // Lire l'état du bouton gauche
etatbouton_right = digitalRead(bouton_right); // Lire l'état du bouton droit
if (etatbouton_right && !messageRightEnvoye) {
Serial.println("right"); // Si le bouton droit est pressé et le message n'a pas été envoyé, imprimer "right" via la communication série
messageRightEnvoye = true; // Mettre à jour l'état d'envoi du message "right"
}
if (etatbouton_left && !messageLeftEnvoye) {
Serial.println("left"); // Si le bouton gauche est pressé et le message n'a pas été envoyé, imprimer "left" via la communication série
messageLeftEnvoye = true; // Mettre à jour l'état d'envoi du message "left"
}
while (Serial.available() > 0) {
character = Serial.read(); // Lire le caractère reçu via la communication série
// Allumage de la LED gauche si le caractère '2' est reçu
if (character == '2') { // Si le caractère reçu est '2'
digitalWrite(Led_left, HIGH); // Allumer la LED gauche
digitalWrite(Led_right, LOW); // Éteindre la LED droite
Serial.println("led_left_allumee"); // Envoyer un message indiquant que la LED gauche est allumée
delay(5000); // Attendre pendant 5 secondes
}
// Allumage de la LED droite si le caractère '1' est reçu
if (character == '1') { // Si le caractère reçu est '1'
digitalWrite(Led_right, HIGH); // Allumer la LED droite
digitalWrite(Led_left, LOW); // Éteindre la LED gauche
Serial.println("Led_right_allumee"); // Envoyer un message indiquant que la LED droite est allumée
delay(5000); // Attendre pendant 5 secondes
}
}
}