Arduino Nano - RS422

In diesem Tutorial werden wir den Prozess der Einrichtung einer RS-422-Kommunikation mit einem Arduino Nano untersuchen. Wir werden die folgenden Schritte im Detail behandeln:

Die Anleitung bietet auch Anweisungen für sowohl Hardware-Serial als auch SoftwareSerial.

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×TTL-zu-RS422-Modul
1×Verbindungskabel
1×(Optional) RS422-zu-USB-Kabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über TTL zu RS-422-Modul

Bei der seriellen Kommunikation am Arduino Nano werden Funktionen wie Serial.print(), Serial.read() und Serial.write() verwendet. Die Datenübertragung erfolgt über den TX-Pin, während der Datenempfang über den RX-Pin erfolgt. Diese Pins arbeiten auf TTL-Ebene, was bedeutet, dass sie Signale mit begrenzter Reichweite verarbeiten. Folglich ist für die serielle Kommunikation über längere Entfernungen eine Umwandlung des TTL-Signals in Standards wie RS232, RS422 oder RS485 erforderlich.

In diesem Tutorial werden wir die Integration von RS-422 (auch als RS-422 bezeichnet) mit dem Arduino Nano untersuchen, die durch den Einsatz eines TTL-zu-RS-422-Moduls ermöglicht wird. Dieses Modul erleichtert die Umwandlung von TTL-Signalen in RS-422-Signale und umgekehrt.

Pinbelegung

Das RS422-zu-TTL-Modul verfügt über zwei Schnittstellen:

  • Die TTL-Schnittstelle (mit dem Arduino Nano verbunden) umfasst 4 Pins
    • VCC-Pin: Stromversorgungs-Pin, muss mit VCC (5 V oder 3,3 V) verbunden werden
    • GND-Pin: Masse-Pin, muss mit GND (0 V) verbunden werden
    • RXD-Pin: Datenpin, muss mit einem TX-Pin des Arduino Nano verbunden werden
    • TXD-Pin: Datenpin, muss mit einem RX-Pin des Arduino Nano verbunden werden
  • Die RS422-Schnittstelle umfasst die folgenden Pins:
    • A (R+) Pin: RX+-Pin des Moduls, verbinden Sie diesen Pin mit dem TX+-Pin (T+ oder Y-Pin) des anderen RS422-Geräts.
    • B (R-) Pin: RX- Pin des Moduls, verbinden Sie diesen Pin mit dem TX- Pin (T- oder Z-Pin) des anderen RS422-Geräts.
    • Y (T+) Pin: TX+-Pin des Moduls, verbinden Sie diesen Pin mit dem RX+-Pin (R+ oder A-Pin) des anderen RS422-Geräts.
    • Z (T-) Pin: TX- Pin des Moduls, verbinden Sie diesen Pin mit dem RX- Pin (R- oder B-Pin) des anderen RS422-Geräts.
    RS-422-Modul-Pinbelegung
    image source: diyables.io

Verdrahtungsdiagramm

  • Verdrahtungsdiagramm bei Verwendung von Hardware-Serial
Arduino Nano TTL zu RS-422 Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

  • Verdrahtungsdiagramm bei Verwendung von Software-Serial
Arduino Nano RS-422 zu TTL Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

So programmieren Sie Arduino Nano, um das RS-422-Modul zu verwenden

  • Initialisiert die serielle Schnittstelle:
Serial.begin(9600);
  • Wenn Sie SoftwareSerial verwenden, müssen Sie die Bibliothek einbinden und ein SoftwareSerial-Objekt deklarieren:
#include <SoftwareSerial.h> #define RX_PIN 3 #define TX_PIN 2 // Definieren Sie die SoftwareSerial-Objekte und deren Pins SoftwareSerial rs422(RX_PIN, TX_PIN);

Arduino Nano-Code für Hardware-Seriell

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/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 } }

Arduino Nano Code für Software Serial

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/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 } }

Testen

Sie können einen Test durchführen, indem Sie Daten von Ihrem PC zum Arduino Nano über RS-422 senden und umgekehrt. Um dies zu tun, befolgen Sie die untenstehenden Schritte:

  • Schließen Sie das Arduino Nano über ein RS-422-zu-USB-Kabel an Ihren PC an, wie unten dargestellt:
Arduino Nano RS-422 zur Kommunikation mit dem PC.
  • Installieren Sie ein serielles Terminalprogramm wie Tera Term oder PuTTY
  • Öffnen Sie das serielle Terminalprogramm und konfigurieren Sie die seriellen Parameter (COM-Port, Baudrate...)
  • Geben Sie im seriellen Terminal einige Daten ein, um sie an den Arduino Nano zu senden.
  • Wenn dies erfolgreich ist, sehen Sie die Echo-Daten im seriellen Terminal.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!