SCIENCES DE
L'INGENIEURNiveau : Première générale, enseignement de spécialité SI
Comment décoder un message transmis avec le protocole RS-232 à l'aide d'un oscilloscope
Vous disposez :
Le microcontrôleur Arduino est connecté à l'ordinateur par l'intermédiaire du port USB qui vont communiquer entre eux en utilisant le protocole RS-232.

Ils doivent tous les deux avoir le même débit et la même configuration de trame pour se comprendre.
Si le microcontrôleur reçoit un mot ou un octet sur sa broche Rx de l’ordinateur, il envoie sur sa broche D2 le mot mystère stocké dans sa mémoire. Il envoie en plus un message sur sa broche Tx vers l’ordinateur, pour indiquer si le mot mystère a bien été décodé.
Mettre en œuvre un protocole de mesure pour décoder le mot mystère envoyé par l'Arduino Uno.
Ressources disponibles :


Vous devriez voir apparaître une brève impulsion
Octet binaire envoyé par l'ordinateur :
Octet hexadécimal envoyé par l'ordinateur :
Caractère ASCII envoyé par l'ordinateur :
Relever l'erreur typique indiquée dans le diagramme des exigences pour la vitesse attendue, pour que le message soit correctement transmis.
$diamond$ Débit attendu : $diamond$ Mesure de la durée d'un bit : $diamond$ Débit mesuré : $diamond$ Calcul de l'écart : $diamond$ Analyse de l'écart :
Compléter le tableau ci-dessous
| Bit de parité : | Sans |
|---|---|
| Nombre de bit de données : | |
| Nombre de bit de stop : | |
| Vitesse de transmission en bauds : | |
| Contrôle du flux de donnée : | Sans |
Connecter la voie A de l'oscilloscope sur les broches D2 et GND de l'arduino. Envoyer un message quelconque (1 par exemple) et capturez la trame

Compléter la trame ci-dessous
Mot mystère :
Mesurer le débit à l'aide de l'oscilloscope, puis régler ce débit dans le moniteur série à la bonne valeur.
Saisir le mot mystère dans le moniteur série vers l'Arduino.
Faire valider le fonctionnement.
D'après le programme ci-dessous et le diagramme des exigences, déterminer le format de la trame : nombre de bits nécessaires pour envoyer un octet.
void setup() { Serial.begin(115200, SERIAL_8E2); // Configuration 8E2 } void loop() { Serial.print("1"); // Envoi du caractère '1' delay(2000); }
Relever le débit en bits/s attendu dans le programme et l'erreur typique aceptée du diagramme des exigences.
Copier, puis coller le programme dans l'éditeur Arduino,
Enregistrer le programme dans vos documents,
Dans le menu croquis, téléverser le programme dans l'Arduino,
Envoyez le caractère "1" depuis l'arduino vers le PC.
Envoyez ensuite "2" et expliquer comment fonctionne le bit de parité.
Calculer le temps nécessaire attendu pour envoyer votre nom et votre prénom depuis l'arduino : "Nom Prénom", en tenant compte du débit et du caractère "espace".
Téléversez le programme suivant en remplaçant "Nom Prénom" par le votre.

Mesurer ce temps grâce à l'oscilloscope en le branchant sur la broche Tx de l'Arduino. Calculer l'écart relatif entre la valeur attendue et la valeur mesurée.
Vérifier qu'elle corresponde bien à l'erreur typique du diagramme des exigences.
Valeur Mesurée : Ecart relatif :
Mesurer la hauteur du laboratoire en deux étapes :
Puis faire la somme pour vérifier l'exactitude.
Vous devrez être capable :
Partie A — Observation du signal
Brancher le capteur sur le connecteur A0 de l'ESP8266, A0 et GND vers oscilloscope (voie A)

Identifier les trames série envoyées à intervalle régulier (~100 µs).
Mesurer le temps d’un bit dans la trame et en déduire le débit en bits/s (bauds) et vérifier si cette valeur est conforme au diagramme des exigences.
Mesurer le temps qui sépare l'envoi de 2 mesures et en déduire la fréquence des mesures et vérifier si cette valeur est conforme au diagramme des exigences.
Partie B — Décodage d’une trame
Le capteur envoie d'abord la lettre R, puis après une courte pause (Mark), il envoie 3 octets correspondant à la distance en cm et un 4ème octet permettant un retour à la ligne suivante (CR : retour chariot).
C’est typique du RS-232 TTL, qui utilise des niveaux inversés par rapport à la logique TTL classique.
Partie C — Exploitation
Exploitation des résultats
Comparer les mesures obtenues avec le capteur à ultrasons à celles obtenues au mètre ruban, puis calculer l’erreur relative.
1. Rappel des grandeurs
| Symbole | Signification |
|---|---|
| 𝑀 | Mesure de référence (mètre ruban) |
| C | Mesure capteur (valeur décodée) |
| ε | Erreur relative (en %) |
2. Formule de l'erreur relative
$epsilon=|(C-M)/M|xx100$
Calculer l'erreur statique entre la mesure manuelle et celle mesurée par le capteur et vérifier si cette valeur est conforme au diagramme des exigences.
Pascal Hassenforder 14/02/2022
Mise à jour du 22/04/2025