Arduino RS-232

In diesem Tutorial lernen wir, wie man die RS-232-Kommunikation mit dem Arduino verwendet. Im Detail werden wir lernen:

Das Tutorial bietet auch die Anleitung für sowohl Hardware-Serial als auch SoftwareSerial.

Erforderliche Hardware

1×Arduino Uno R3
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (für USB-C PC)
1×TTL-zu-RS232-Modul
1×Verbindungskabel
1×(Optional) USB to RS232 Cable
1×(Optional) USB to RS232 Converter
1×(Optional) RS232 Gender Changer
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V3 Starter-Kit (Arduino enthalten)
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-232-Modul

Wenn Sie die serielle Kommunikation mit Hilfe der Funktionen Serial.print(), Serial.read(), Serial.write() … auf dem Arduino verwenden, gibt der Arduino Daten am TX-Pin aus oder liest Daten vom RX-Pin. Die Signale an den TX- und RX-Pins haben TTL-Pegel. Dieses Signal reicht nicht weit. Daher müssen Sie, wenn Sie die serielle Kommunikation über längere Entfernungen verwenden möchten, das TTL-Signal in RS232-, RS485- oder RS422-Signale umwandeln.

Das TTL-zu-RS232-Modul wandelt TTL-Signale in RS232-Signale um und umgekehrt.

Pinbelegung

Das RS232-zu-TTL-Modul hat zwei Schnittstellen:

  • Die TTL-Schnittstelle (mit dem Arduino verbunden) umfasst 4 Pins
    • VCC-Pin: Versorgungs-Pin, muss mit VCC (5V/3,3V) verbunden werden
    • GND-Pin: Massepin, muss mit GND (0V) verbunden werden
    • RXD-Pin: Datenpin, muss mit einem RX-Pin des Arduino verbunden werden
    • TXD-Pin: Datenpin, muss mit einem TX-Pin des Arduino verbunden werden
  • Die RS232-Schnittstelle: DB9-Weibchen-D-Sub-Stecker, verbinden Sie diesen mit dem seriellen Gerät
RS-232-Pinbelegung

Verdrahtungsdiagramm

  • Schaltplan bei Verwendung von Hardware-Serial
Arduino TTL zu RS232 Verdrahtungsdiagramm

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

  • Verdrahtungsdiagramm bei Verwendung von Software-Serial
Arduino RS232-zu-TTL Verdrahtungsdiagramm

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

Wie man Arduino programmiert, um das RS232-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> // Definieren Sie die SoftwareSerial-Objekte und deren Pins SoftwareSerial SoftSerial(7, 6); // RX: 7, TX: 6

Arduino-Code für Hardware-Serial

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino 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/arduino-rs232 */ 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-Code für Software Serial

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino 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/arduino-rs232 */ #include <SoftwareSerial.h> // define the SoftwareSerial object and their pins SoftwareSerial SoftSerial(7, 6); // RX: 7, TX: 6 void setup() { // start communication with baud rate 9600 SoftSerial.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on SoftSerial if (SoftSerial.available()) { char data = SoftSerial.read(); // read the received character SoftSerial.print(data); // echo back to data to the sender } }

Testen

Sie können einen Test durchführen, indem Sie Daten von Ihrem PC über RS-232 an den Arduino senden und umgekehrt. Um dies zu tun, folgen Sie den untenstehenden Schritten:

  • Verbinde den Arduino mit deinem PC über ein RS-232-zu-USB-Kabel wie unten gezeigt:
Arduino RS232-Kommunikation zum 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...)
  • Tippen Sie einige Daten vom seriellen Terminal ein, um sie an Arduino zu senden.
  • Wenn es 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!