Projet

Général

Profil

scenario enseignant #15093 » master.ino

Maxime Crublé, 13/12/2024 14:44

 
#define greenLedPin 8
#define masterSwitchPin 7
int dataFromSlave = 0;

void setup() {
pinMode(greenLedPin, OUTPUT);
digitalWrite(greenLedPin, LOW);
pinMode(masterSwitchPin, INPUT);
digitalWrite(masterSwitchPin,LOW);
Serial.begin(38400); // Taux de transmission par défaut du module Bluetooth
}

void loop() {
// Vérifie si des données arrivent de l'esclave
if (Serial.available() > 0) {
dataFromSlave = Serial.read(); // Lit les données de l'esclave
}

// Contrôle de la LED sur le maître en fonction des données reçues
if (dataFromSlave == '1') {
digitalWrite(greenLedPin, HIGH); // Allume la LED sur le maître
} else if (dataFromSlave == '0') {
digitalWrite(greenLedPin, LOW); // Éteint la LED sur le maître
}

// Lecture de l'état du bouton du maître
int masterSwitchValue = digitalRead(masterSwitchPin);

// Envoie de l'état du bouton du maître à l'esclave
if (masterSwitchValue == HIGH) {
Serial.write('1'); // Envoie '1' pour allumer la LED sur l'esclave aussi
digitalWrite(greenLedPin, HIGH); // Allume la LED sur le maître
} else if (dataFromSlave != '1') { // Si le bouton du maître est relâché et que l'esclave n'a pas demandé l'allumage
Serial.write('0'); // Envoie '0' pour éteindre la LED sur l'esclave
digitalWrite(greenLedPin, LOW); // Éteint la LED sur le maître
}

delay(10); // Petit délai pour éviter les rebonds
}
(1-1/3)