Vous êtes sur la page 1sur 7

Année universitaire 2023/2024

Université de Monastir

Ecole Nationale d’Ingénieur de Monastir

Département Génie Electrique

TP : Périphériques et Techniques d'interfaçages

Travail élaboré par :

Bellazreg Nourane

Ben Kadida Oumaima

2ème électrique groupe 3 TP1


TP1 : Communication série UART avec une carte Arduino

1. Objectif
➢ Mettre en œuvre une communication série UART à l’aide d’une carte Arduino.
➢ Simuler sous ISIS une trame série UART.
➢ Décoder le contenue d'une trame série UART.

2. Communication série UART


Un UART, pour Universal Asynchronous Receiver Transmitter, est un émetteur-récepteur
asynchrone universel. En voici le principe pour un Arduino :

✓ Transmission de données d'un équipement 1 (un microcontrôleur Arduino) à un


équipement 2 (PC, GPS, émetteur Bluetooth, microcontrôleur ....) ;
✓ Données à transmettre existent sous forme parallèle (octet) et sont transmises sous forme
série (LSB en premier) ;
✓ Entre 2 équipements les fils sont croisés : Tx1 relié à Rx2 et Tx2 relié à Rx1 ;
✓ Asynchrone car aucune horloge (bit Clock) n'est transmise entre l'émetteur et le
récepteur.

2.1 Constitution d'une trame UART Arduino


✓ Un bit de start toujours à 0 : servant à la synchronisation du récepteur.
✓ Les données : pour un code Ascii étendu 8 bits (un octet).
✓ Un bit de stop toujours à 1.

2.2 Avantages
− Standardisée, universelle, pas cher ;
− 3 fils suffisent (émission Tx, réception Rx, masse GND) et souvent l'alimentation + 5V.

2.3 Inconvénients
− Assez lent ;
− Une liaison UART ne permet que de relier 2 équipements.

3. Application
3.1 Exercice 1
Communication des informations de la carte Arduino vers l’ordinateur et inversement. Le but
sera d'éteindre et d'allumer une LED branchée sur la carte Arduino à l'aide des lettres "E" et
"A", respectivement, de votre clavier. Dans le cas où la lettre "A" est reçue, la carte Arduino
TP1 : Communication série UART avec une carte Arduino

envoie à l’ordinateur la valeur mesurée par un capteur de températureLM335Z branché sur la


pine (A0). Le capteur LM335Z est un capteur analogique, c’est-à-dire qu’il présente une tension
variable en fonction de la température. La variation de la tension est linéaire : 10 mv par degré
Kelvin (k), (Tc=Tk-273.15).

❖ Code sur Arduino

❖ Schéma sur ISIS

Compilation et le téléversement sur la carte Arduino sont illustrées par le schéma suivant.
TP1 : Communication série UART avec une carte Arduino

Ouverture de moniteur série à partir de menu « outils ».

3.2 Exercice 2 : Codage d’une trame série UART


❖ Code sur Arduino

Compilation puis chargement du programme (.hex) dans le module Arduino UNO sous ISIS
comme illustré par la figure suivante.

❖ Schéma sur ISIS

Ensuite la simulation et la visualisation sur l’ISIS.


TP1 : Communication série UART avec une carte Arduino

Réglage de l'oscilloscope afin d'obtenir la visualisation suivante du signal TXD.

2.1 À partir de la table ASCII ci-dessous, le codage binaire du caractère ‘U’ est : 1010101. Il
est égal à la valeur affichée sur l'oscilloscope.

2.2 L’ordre dans lequel est envoyé un octet sur une liaison série UART est de droite à gauche.

Les informations transmises lors de l’envoie d’un caractère codé sur un octet sont :

− Un bit de début ;
− Les bits de données, représentant l'octet à transmettre ;
− Un bit d'arrêt ;

2.3

Ce programme pour envoyer cette fois-ci non plus un caractère mais une chaine de caractères :
« un ».

Pour envoyer une chaîne de caractères "un" via une liaison série UART, nous devons d'abord
convertir chaque caractère en son équivalent binaire, puis les envoyer séquentiellement.

Le premier caractère transmis est "u". Pour ce caractère, le nombre de bits START et STOP
dépend du paramétrage de votre liaison série UART. De manière typique, une liaison série
UART utilise un bit START et un bit STOP.
TP1 : Communication série UART avec une carte Arduino

2.4 on a modifié la valeur 9600 par 4800 dans la fonction setup ().

2.5 Dans une liaison asynchrone entre un émetteur et un récepteur, la condition indispensable
pour que les messages soient lisibles est la synchronisation au niveau des vitesses de
transmission (baud rate) entre les deux appareils.

2.6 Le temps de transmission nécessaire pour afficher un message : « hello world » à 9600
bauds est :
TP1 : Communication série UART avec une carte Arduino

Calcul du t :

T 1bit=1/9600 donc t 10b=10*t1bit

Vous aimerez peut-être aussi