Prérequis :

But:

Envoyer des code ASCII électriquement.

Répertoire :

~/Works/Serial/txd

Présentation :

Nous allons utiliser une liaison série sur l’arduino.

  • TxD : sur la broche 8
  • RxD : sur la broche 9

Voici un code Arduino simple qui utilise la bibliothèque SoftwareSerial pour émettre le caractère 'A' sur la broche 8 configurée en TX (émission), tandis que la broche 9 est réservée pour la réception (RX).

Sur Arduino on dispose de classe en C++ pouvant nous créer facilement une liaison série

Code Arduino : serie1.cpp

#include <SoftwareSerial.h>

// Déclaration : RX sur la broche 9, TX sur la broche 8
SoftwareSerial mySerial(9, 8);

void setup() {
  // Démarrer UNIQUEMENT la liaison logicielle sur les broches 8 et 9
  mySerial.begin(9600);
}

void loop() {
  // Envoi du caractère 'A' EXCLUSIVEMENT sur la broche 8 (TX)
  mySerial.write('A');
  
  // Attendre 1 seconde avant le prochain envoi
  delay(1000);
}

On va regarder le signal sortant TxD

on va brancher sur la sonde numérique Sigrock la broche 8 sur la broche D0 de la sonde Sigrock/pulseview

Trame liaison série

Travail à réaliser :

Relever la lettre A en binaire avec la sonde

Proposer un code pour relever la lettre B et relever le chronogramme

Proposer un code pour relever la lettre C et relever le chronogramme

Relever le temps d’un bit sur la broche 8

donner la formule qui permet de trouver cette valeur en sachant que ici nous avons configuré à 1200 bits/seconde

Refaire les mêmes manipulation avec une vitesse de 300 b/s

Proposer un code C++ qui correspond pour l’envoi d’un A

Faire les 3 relevés A, B , C

Relever les tensions max et min.

Est ce qu’il y a un rapport avec le code ASCII ?