Arduino Nano - RS485

Dans ce guide, nous allons explorer la mise en œuvre de la communication RS485 avec l'Arduino Nano. Nous nous concentrerons sur les aspects clés suivants :

Le tutoriel fournit également des instructions pour le Serial matériel et le SoftwareSerial.

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×TTL to RS485 Module
1×Jumper Wires
1×(Optional) RS485 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.

À propos du module TTL vers RS485

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 des données se fait via la broche TX, tandis que la réception des données se fait à travers la broche RX. Ces broches fonctionnent au niveau TTL, gérant des signaux de portée limitée. Par conséquent, pour une communication série sur de plus longues distances, il devient nécessaire de convertir le signal TTL en normes telles que RS232, RS485 ou RS422.

Dans ce tutoriel, nous allons explorer l'intégration du RS485 (également appelé RS-485) avec l'Arduino Nano en utilisant un module TTL vers RS485. Ce module facilite la conversion des signaux TTL en signaux RS485 et vice versa, permettant une communication robuste sur de longues distances.

Brochage

Le module RS485 vers TTL possède deux interfaces :

  • L'interface TTL (connectée à l'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 RS485 comprend les broches suivantes :
    • Broche D+ (A ou TR+) : Cette broche facilite la communication des données.
    • Broche D- (B ou TR-) : Cette broche est utilisée pour la transmission des données.
    • Broche GND : Bien qu'optionnelle, il est fortement recommandé d'inclure cette broche pour atténuer les interférences de bruit, assurant ainsi des performances optimales.
    Brochage du module RS-485
    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 RS485

This image is created using Fritzing. Click to enlarge image

  • Schéma de câblage si utilisation du port série logiciel
Schéma de câblage Arduino Nano RS-485 vers TTL

This image is created using Fritzing. Click to enlarge image

Comment programmer l'Arduino Nano pour utiliser le module RS485

  • 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 2 #define TX_PIN 3 // Définir les objets SoftwareSerial et leurs broches SoftwareSerial rs485(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-rs485 */ 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 la communication série logicielle

/* * 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-rs485 */ #include <SoftwareSerial.h> #define RX_PIN 2 #define TX_PIN 3 // define the SoftwareSerial object and their pins SoftwareSerial rs485(RX_PIN, TX_PIN); void setup() { // start communication with baud rate 9600 rs485.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on rs485 if (rs485.available()) { char data = rs485.read(); // read the received character rs485.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-485 et vice versa. Pour ce faire, suivez les étapes ci-dessous :

  • Connectez l'Arduino Nano à votre PC via un câble RS485-to-USB comme suit :
Communication Arduino Nano RS485 vers PC
  • Installez un programme de terminal série tel que 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 à l'Arduino Nano.
  • Si l'opération est réussie, 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!