<aside> 📌 Table of content
</aside>
Petit guide pour interfacer un minitel 1B (avec prise DIN) et un ESP32-WROOM-DEVKIT (ESP32 WROOM sur carte de développement).
Du côté du minitel, nous sommes chanceux. Nous avions prévu à l’avance ce projet et nous nous retrouvons avec un Minitel B1, possedant une prise DIN. C’est par cette prise que nous allons faire communiquer l’ESP32 et le Minitel. Avec des vitesses de transfert jusqu’à 4800 bauds (bits/s) et un moyen d’alimenter l’ESP32 depuis le minitel, cette prise est parfaite.
Schéma de la prise DIN pour la soudure et les connexions :
Ainsi, on retrouve sur la prise DIN (ou péri-informatique) les broches TX et RX servant pour l’UART, le ground à mettre en commun (afin de partager le zéro logique pour avoir les même niveaux de tension), et également sur la broche 5 une alimentation, variant pour nous entre 13V et 15V (et se stabilisant vers 13.4V).
Une petite soudure avec des connecteurs Dupond pour prototyper sur breadboard, et le tour est joué.
Les cables soudés à la prise DIN
Afin de vérifier si le minitel fonctionne et si les soudures sont bonnes, on peut allumer le minitel, relier les broches RX et TX et taper des touches au clavier. Si les caractères apparaissent en double, c’est que tout fonctionne normalement (le Minitel discute bien avec lui-même).
L’ESP32 a des ports UARTs intégrés dans la carte de développement. On pourrait également utiliser la librairie SoftwareSerial, mais utiliser les ports physiques dédié est plus précis. Il suffit d’initialiser et d’utiliser la classe correspondante :
#include <Arduino.h>
void setup() {
Serial2.begin(1200, SERIAL_7E1);
}
void loop() {
Serial2.println("Hello ICE! ");
delay(1000);
}
pour envoyer “Hello World!” par les ports UART.
La communication UART est une communication série sur 3 fils : le ground, le RX — pour “recieve” et le TX — pour “transmit”. Attention, les labels RX et TX s’échangent d’un bout à l’autre des fils : il faut donc pour faire communiquer les périphériques A et B connecter RXA avec TXB (le A reçoit et le B transmet) et TXA avec RXB. Il faut également faire attention à ce que les deux périphériques soient sur les mêmes niveaux de tension : si pour A, un 1 équivaut à une tension de 5V et pour B, un 1 est 3.3V, A risque de ne rien recevoir de la part de B.
Le protocole UART peut également, selon les versions, inclure des bits de parité (pour la détection d’erreur). Dans notre cas, le Minitel fonctionne en 7E1 : 7 bits de donnés, 1 bit de parité, parité paire (cà d. la somme des bits est paire).