Introduction

L’UART (Universal Asynchronous Receiver-Transmitter) est un protocole de communication série essentiel dans le monde de l’électronique et des microcontrôleurs. Il permet une communication simple et efficace entre un Arduino et d’autres périphériques comme des capteurs, des modules GPS, des modules Bluetooth, des ordinateurs, etc.

Cette communication se fait via les broches numériques de l’Arduino, utilisant une transmission asynchrone de données série.

Fonctionnement de la liaison

Une liaison  UART (“Universal Asynchronous Receiver Transmitter”), est un émetteur-récepteur asynchrone universel. La liaison UART est exclusive, cela signifie qu’un maître peut discuter qu’avec un seul esclave par liaison, comme on peut le voir juste en dessous :

liaison uart

La liaison uart est asynchrone, ce qui signifie que la transmission ne nécessite pas d’horloge mais ajoute un bit de parité aux données avant la transmission.

C’est une liaison exclusive, cela veut dire que l’on a qu’un seul fil fait passer tous les bits de données.

La liaison UART est une une liaison full duplex, cela veut dire que l’on peut écouter tout en émettant des bits. La liaison UART est à faible débit, de 100 bps à 200 kbps.

L’UART convertit les données parallèles du microcontrôleur en données série, les transmet bit par bit, puis reconvertit les données série en données parallèles du côté récepteur. La communication UART est asynchrone, ce qui signifie qu’elle ne nécessite pas de signal d’horloge partagé entre les dispositifs de transmission et de réception.

Les lignes de communication UART sont :

  • TX (Transmission) : Envoie les données.
  • RX (Réception) : Reçoit les données.

Ces deux lignes permettent un échange bidirectionnel de données.

 

Broche UART sur la carte Arduino

Sur les cartes Arduino, l’UART est utilisé durant la transmission d’un programme. C’est pourquoi on vous conseil de déconnecter le composant branché sur l’UART si vous souhaitez téléverser un nouveau programme. Dans le cas contraire vous allez avoir une erreur sur Arduino IDE.

Configuration des Broches

  • Arduino Uno/Nano : TX (broche 1), RX (broche 0)
  • Arduino Mega : Plusieurs ports série matériels, y compris Serial1, Serial2, et Serial3.

Voici où sont placés les broches sur la carte Arduino UNO :

Ecriture sur l’UART

L’écriture sur l’UART est très simple avec Arduino car le bus peut-être lue avec le moniteur série d’Arduino IDE. Voici un programme qui permet d’écrire sur l’UART de votre carte Arduino :

void setup() {
  Serial.begin(9600); // Initialise la communication série à 9600 bauds
}

void loop() {
  Serial.println("Hello, UART!"); // Envoie le texte sur le port série
  delay(1000); // Attendre une seconde
}

Pour voir le “Hello UART”, il vous suffit de connectez votre Arduino à votre ordinateur et d’ouvrir le moniteur série dans Arduino IDE à 9600 bd/s.

Lecture sur l’UART

La lecture de l’UART s’utilise aussi avec le moniteur série d’Arduino IDE. Il vous suffit d’envoyer du texte ou valeur à travers le moniteur série et la carte Arduino va vous répondre ce qu’elle a lue toujours sur le moniteur série avec le programme suivant :

void setup() {
  Serial.begin(9600); // Initialise la communication série à 9600 bauds
}

void loop() {
  if (Serial.available() > 0) { // Vérifie s'il y a des données disponibles
    int incomingByte = Serial.read(); // Lit les données
    Serial.print("J'ai reçu : ");
    Serial.println(incomingByte, DEC); // Affiche les données reçues
  }
}

Conclusion

Si vous souhaitez en savoir plus sur les bus de communication sur Arduino, nous avons fait des cous sur le SPI et l’I2C.