Arduino Nano - RS422

Dans ce tutoriel, nous allons explorer le processus de mise en place d'une communication RS422 avec un Arduino Nano. Nous couvrirons les étapes suivantes en détail :

Le tutoriel fournit également des instructions pour les deux, Serial matériel et SoftwareSerial.

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×TTL to RS422 Module
1×Jumper Wires
1×(Optional) RS422 to USB Cable
1×(Optional) 9V Power Adapter for Arduino Nano
1×(Recommended) Screw Terminal Adapter for Arduino Nano

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

Sur le module TTL à RS422

Lors de l'utilisation de la communication série sur l'Arduino Nano avec des fonctions telles que Serial.print(), Serial.read() et Serial.write(), la transmission de données se fait via la broche TX tandis que la réception de données a lieu à travers la broche RX. Ces broches fonctionnent au niveau TTL, ce qui signifie qu'elles gèrent des signaux à portée limitée. Par conséquent, pour une communication série sur de longues distances, il devient nécessaire de convertir le signal TTL en normes telles que RS232, RS422 ou RS485.

Dans ce tutoriel, nous allons explorer l'intégration de RS422 (également appelé RS-422) avec l'Arduino Nano, réalisée grâce à l'utilisation d'un module TTL vers RS422. Ce module facilite la conversion des signaux TTL en signaux RS422 et vice versa.

Brochage

Le module RS422 vers TTL possède deux interfaces :

  • L'interface TTL (connectée à Arduino Nano) comprend 4 broches :
    • Broche VCC : broche d'alimentation, doit être connectée à VCC (5V ou 3.3V)
    • Broche GND : broche d'alimentation, doit être connectée à GND (0V)
    • Broche RXD : broche de données, doit être connectée à une broche TX de l'Arduino Nano
    • Broche TXD : broche de données, doit être connectée à une broche RX de l'Arduino Nano
  • L'interface RS422 comprend les broches suivantes :
    • Broche A (R+) : broche RX+ du module, connectez cette broche à la broche TX+ (T+ ou broche Y) de l'autre appareil RS422.
    • Broche B (R-) : broche RX- du module, connectez cette broche à la broche TX- (T- ou broche Z) de l'autre appareil RS422.
    • Broche Y (T+) : broche TX+ du module, connectez cette broche à la broche RX+ (R+ ou broche A) de l'autre appareil RS422.
    • Broche Z (T-) : broche TX- du module, connectez cette broche à la broche RX- (R- ou broche B) de l'autre appareil RS422.
    Brochage du module RS-422
    image source: diyables.io

Diagramme de câblage

  • Schéma de câblage si utilisation du port série matériel
Schéma de câblage Arduino Nano TTL vers RS422

This image is created using Fritzing. Click to enlarge image

  • Schéma de câblage si utilisation de série logicielle
Schéma de câblage Arduino Nano RS-422 vers TTL

This image is created using Fritzing. Click to enlarge image

Comment programmer l'Arduino Nano pour utiliser le module RS422

  • Initialise l'interface série :
Serial.begin(9600);
  • Si vous utilisez SoftwareSerial, vous devez inclure la bibliothèque et déclarer un objet SoftwareSerial :
#include <SoftwareSerial.h> #define RX_PIN 3 #define TX_PIN 2 // Définir les objets SoftwareSerial et leurs broches SoftwareSerial rs422(RX_PIN, TX_PIN);

Code Arduino Nano pour le port série matériel

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-rs422 */ void setup() { // start communication with baud rate 9600 Serial.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on Serial if (Serial.available()) { char data = Serial.read(); // read the received character Serial.print(data); // echo back to data to the sender } }

Code Arduino Nano pour le port série logiciel

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-rs422 */ #include <SoftwareSerial.h> #define RX_PIN 3 #define TX_PIN 2 // define the SoftwareSerial object and their pins SoftwareSerial rs422(RX_PIN, TX_PIN); void setup() { // start communication with baud rate 9600 rs422.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on rs422 if (rs422.available()) { char data = rs422.read(); // read the received character rs422.print(data); // echo back to data to the sender } }

Test

Vous pouvez effectuer un test en envoyant des données de votre PC à Arduino Nano via RS-422 et vice versa. Pour cela, suivez les étapes ci-dessous :

  • Connectez l'Arduino Nano à votre PC via un câble RS422 vers USB comme ci-dessous :
Communication Arduino Nano RS422 vers PC
  • Installez un programme de terminal série comme Tera Term ou PuTTY
  • Ouvrez le programme de terminal série et configurez les paramètres série (port COM, débit en bauds...)
  • Tapez des données depuis le terminal série pour les envoyer à Arduino Nano.
  • Si cela réussit, vous verrez les données en écho sur le terminal série.

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!