Page 68 - arduino_Neat
P. 68
pinMode(pinLed3, OUTPUT);
}
void loop() {
// Verfie si il y a une donnée sérielle disponible
if (Serial.available() > 0) {
// Lecture de l'octet présent dans la mémoire tampon (buffer)
octetRecu = Serial.read();
if (octetRecu == 'R' || octetRecu == 'r') { //Si l'octet recu est égal à R ou r
digitalWrite(pinLed0, HIGH); //Allumer la LED connectée à pinLed0
Serial.println("LED Rouge allumee"); //Afficher "LED Rouge allumee" dans le
moniteur série
}
if (octetRecu == 'J' || octetRecu == 'j') { //Si l'octet recu est égal à J ou j
digitalWrite(pinLed1, HIGH); //Allumer la LED connectée à pinLed1
Serial.println("LED Jaune allumee"); //Afficher "LED Jaune allumee" dans le
moniteur série
}
if (octetRecu == 'V' || octetRecu == 'v') { //Si l'octet recu est égal à V ou v
digitalWrite(pinLed2, HIGH); //Allumer la LED connectée à pinLed2
Serial.println("LED Verte allumee"); //Afficher "LED Verte allumee" dans le
moniteur série
}
if (octetRecu == 'B' || octetRecu == 'b') { //Si l'octet recu est égal à B ou b
digitalWrite(pinLed3, HIGH); //Allumer la LED connectée à pinLed3
Serial.println("LED Bleue allumee"); //Afficher "LED Bleue allumee" dans le
moniteur série
}
if (octetRecu == 'E' || octetRecu == 'e') { //Si l'octet recu est égal à E ou e
//Eteindre les LED connectées aux pinLed0, pinLed1, pinLed2 et pinLed3
digitalWrite(pinLed0, LOW);
digitalWrite(pinLed1, LOW);
digitalWrite(pinLed2, LOW);
digitalWrite(pinLed3, LOW);
//Afficher "LED eteinte" dans le moniteur série
Serial.println("LED eteinte");
}
}
}
Déclaration des variables
Le caractère saisi au clavier ainsi que le numéro de la pin sur laquelle est connectée la LED à
allumer sont stockés dans des variables déclarées au début du programme.
Déclaration des variables stockant les numéros de pin :
int pinLed3 = 8; // LED Bleue
int pinLed2 = 6; // LED Verte
int pinLed1 = 4; // LED Jaune
int pinLed0 = 2; // LED Rouge
Déclaration de la variable stockant la valeur du caractère saisi au clavier :
int octetRecu;
Initialisation et Configuration
La communication sérielle entre l'ordinateur et la carte Arduino doit se faire à la même vitesse.
Dans ce projet, nous utilisons une vitesse de 9600 Bauds. Il faut donc indiquer dans
l'initialisation, la vitesse de la communication avec l'instruction :
Serial.begin (9600) ;
Certains logiciels ou périphériques peuvent fonctionner à d'autres vitesses, il serait donc
nécessaire dans ces cas de modifier la commande précédente pour utiliser la bonne vitesse.
Une fois cette instruction réalisée, les ports sur lesquels sont connectées les LED sont
configurés en sortie pour indiquer à la carte que des signaux seront envoyés de l'ordinateur
vers les pins. La configuration se fait avec l'instruction pinMode ().
pinMode(pinLed0, OUTPUT);
pinMode(pinLed1, OUTPUT);
pinMode(pinLed2, OUTPUT);
68