Liaison série sur Arduino

Études des commandes liées à la liaison série

présentation :

initialisation et émission :

réception :

Travail à effectuer

  1. Câbler le montage tel que présenté dans la vidéo (carte arduino, plaque à essai et les LED)
  2. Réaliser le tuto de la réception. (Solution domotique minimum)
  3. Modifier le programme afin d’allumer une des 2 led pour une durée définie dans la commande . Par exemple la commande “b9” allumera la Led bleue pour une durée de 9 secondes, quant à la commande “r23” allumera la led rouge pour 23 seconde

Software Serial

La carte Arduino ne possède qu’une seule liaison série qui est connectée à l’adaptateur USB/RS232 de la carte. Pour bénéficier d’une seconde liaison série, on peut utiliser une bibliothèque qui va émuler un port série. Cette bibliothèque se nomme softwareSerial.

Travail en binôme :

  • Programmer 2 cartes Arduino avec le code suivant :
/*

Software serial multiple serial test
Receives from the hardware serial, sends to software serial.
Receives from software serial, sends to hardware serial.
The circuit:
* RX is digital pin 2 (connect to TX of other device)
* TX is digital pin 3 (connect to RX of other device)
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX, TX
void setup()
{
//  Open serial communications and wait for port to open:
  Serial.begin(115200);
  Serial.println("Goodnight moon!");
// set the data rate for the SoftwareSerial port
  mySerial.begin(9600);
  mySerial.println("Hello, world?");
}
void loop() // run over and over
{
  if (mySerial.available())
   {
     Serial.write(mySerial.read());
   }
  if (Serial.available())
   {
     mySerial.write(Serial.read());
     delay(10);
   }
}

 

  • Câbler les 2 cartes entre elles en suivant les instructions “The circuit”  du programme. Faire vérifier le câblage.
  • Expliquer la procédure pour tester le programme, puis effectuer le test.
  • Synthèse : Fusionner le programme réalisé à la question 4 avec celui de la question 5 . L’objectif est de piloter l’allumage de 2 leds par la réception des commandes ‘b’,’r’ ou ‘e’ envoyé par une autre carte arduino.