Communication Serie

introduction

Pour construire le board, j'ai du me resoudre à faire communiquer 2 arduino.

Le premier contient 3 lecteurs RFID et envoie les lectures au second.

Il ne communique que dans ce sens.

il utilise donc que la fonction ecrire ci dessous. port TX

 

Le second arduino contient 2 lecteurs RFID, un ecran et le wifi.

il utilise la fonction lire ci dessous ( port RX)

 

Les 2 arduino doivent etre relié par le GND

 


code

 const int ledpin = 13; // n° de la led verte de la carte

 

void setup()

 {

 Serial.begin(9600);

 Serial.println("Debut");

 pinMode(ledpin, OUTPUT); // la broche "13" est une sortie

 digitalWrite(ledpin, HIGH);

 }

  

void loop()

 {

 lire();

 }

  

void lire()

 {

 // variable contenant le caractère à lire

 char carlu = 0;

 // variable contenant le nombre de caractère disponibles dans le buffer

 int cardispo = 0;

 

 cardispo = Serial.available();

 while(cardispo > 0) // tant qu'il y a des caractères à lire

 {

 carlu = Serial.read(); // on lit le caractère

 Serial.print(carlu); // puis on le renvoi à l’expéditeur tel quel

 cardispo = Serial.available(); // on relit le nombre de caractères   dispo

 }

 // fin du programme

  }

 

void ecrire()

 {

 digitalWrite(ledpin, HIGH); // allume la led

 delay(500); // bloque le programme pendant 500ms

 digitalWrite(ledpin, LOW); // éteint la led

 delay(1500); // bloque le programme pendant 500ms

 Serial.println("a");

 }

 



Codage entre arduino

Trame :

[Code_lecteur]xxxxx;

 

Code lecteur

+ : Flop

-:Turn

$:River

 

xxx: code RFID dans les 2 formats

 

; : Caractere de fin de trame

 

Code Watchdog

?;

Frequence : toutes les 5 minutes