Produktbilder dienen ausschließlich zu Informationszwecken und können je nach Charge und Lieferant geringfügige Unterschiede aufweisen. Produktspezifikationen und Preise können ohne vorherige Ankündigung geändert werden. Wir tun unser Bestes, um der Produktseite möglichst genaue und richtige Spezifikationen hinzuzufügen, es ist jedoch möglich, dass diese nicht ganz korrekt sind. Sollten Sie einen solchen Fall feststellen, melden Sie ihn uns bitte.
Das Produkt ist für Fachleute bestimmt und erfordert qualifiziertes und autorisiertes Personal. Dem Produkt liegt keine Montage-/Gebrauchsanleitung bei . Die Inbetriebnahme des Produktes durch nicht qualifizierte Personen führt zum Verlust der Garantie gemäß den AGB auf der Seite.
Die angegebenen technischen Spezifikationen (Strom, Leistung usw.) stellen maximale zulässige Werte unter idealen Betriebsbedingungen dar. Für einen sicheren Betrieb und eine optimale Lebensdauer wird empfohlen, das Produkt im Dauerbetrieb mit höchstens 50 % der angegebenen Maximalwerte zu verwenden.
RS232-zu-TTL-Konvertermodul MAX3232, DB9-Buchse, Versorgung 3.3-5V, 4 TTL-Pins
Der RS232-zu-TTL-Konverter mit MAX3232 ermöglicht die schnelle Verbindung zwischen Geräten mit serieller RS232-Schnittstelle und Boards mit TTL-Logikpegel, ideal für Arduino, ESP und industrielle Module. Er bietet stabile bidirektionale Kommunikation TX RX, arbeitet mit externer Versorgung 3.3-5V, unterstützt Logikpegel für 3.3V und 5V und ist kompakt, leicht in Projekte und Testaufbauten zu integrieren.
Shipping by Mittwoch 11 November
Mit dem Kauf dieses Produkts erhalten Sie 0,25 RON an Treuepunkten.
International fast shipping within EU. Free Shipping for orders above 100 EUR in most EU countries.
We ship from our stock within 24H
Sie erhalten bei jeder Bestellung Punkte im Wert von 5 %.
Das RS232-zu-TTL-Konvertermodul mit dem Schaltkreis MAX3232 verbindet eine klassische serielle RS232-Schnittstelle mit DB9-Buchse und einen Mikrocontroller, der mit Logikpegeln von 3.3 V oder 5 V arbeitet. Es sendet und empfängt Daten in beide Richtungen über drei Leitungen (TX, RX und Masse), ohne Flusssteuerungsleitungen, und eignet sich für den Anschluss älterer oder industrieller Geräte, etwa Laborgeräte, Lesegeräte, Router-Konsolen, GSM-Module oder PLC-Steuerungen, oder für die Kommunikation mit einem COM-Port eines Computers.
Der integrierte Schaltkreis MAX3232 (U1 auf der Platine) besitzt zwei Treiber und zwei Empfänger, wobei das Modul nur einen Kanal nutzt. Eine Ladungspumpe aus den Kondensatoren C1 - C4 mit je 100 nF erzeugt aus der Versorgung von 3.3 - 5 V die positiven und negativen Spannungen, die die RS232-Leitung benötigt. Eine logische 1 entspricht dabei einer Spannung zwischen -3 V und -15 V, eine logische 0 einer Spannung zwischen +3 V und +15 V. Der Schaltkreis arbeitet mit Geschwindigkeiten von bis zu 250 kbit/s, und der Logikpegel des TTL-Teils entspricht der Versorgungsspannung.
Zu den wichtigsten Merkmalen gehören die DB9-Buchse für den RS232-Teil, die 4-polige Stiftleiste mit 2.54 mm Rastermaß für den TTL-Teil (GND, TXD, RXD, VCC), die rote Betriebs-LED D1 mit dem Vorwiderstand R1 von 1 kΩ, der Kondensator C5 mit 100 nF zur Filterung der Versorgung und zwei Montagebohrungen. Die Versorgung erfolgt extern mit 3.3 - 5 VDC über die Pins VCC und GND.
Über die TTL-UART-Schnittstelle wird das Modul direkt an Arduino, ESP32, STM32, Raspberry Pi und andere Boards mit serieller Schnittstelle angeschlossen. Über die DB9-Buchse lässt es sich an Computer, PLC-Steuerungen und Geräte mit klassischer serieller Schnittstelle anbinden.
Spezifikationen:
Versorgungsspannung: 3.3 - 5 VDC (externe Versorgung)
Betriebsstrom: 6 mA
Schaltkreis: MAX3232
Genutzte Kanäle: 1 (TX / RX)
Maximale Übertragungsrate: 250 kbit/s
RS232-Anschluss: DB9-Buchse
RS232-Signale: TX, RX, GND (ohne Flusssteuerung)
TTL-Schnittstelle: 4 Pins (GND, TXD, RXD, VCC), Rastermaß 2.54 mm
TTL-Logikpegel: 3.3 V oder 5 V, entspricht der Versorgungsspannung
Anzeige: rote Betriebs-LED D1
Abmessungen: 33 x 32 mm
Layout:
| Element | Funktion |
|---|---|
| DB9-Buchse | RS232-Teil des Moduls. Wird in einen DB9-Stecker eingesteckt, zum Beispiel eines USB-zu-RS232-Kabels oder eines COM-Ports eines Computers. |
| U1 MAX3232 | Schaltkreis, der RS232-Pegel in TTL-Pegel und umgekehrt umsetzt. Genutzt wird ein Sendekanal und ein Empfangskanal. |
| TTL-Stiftleiste mit 4 Pins | Logikpegelseite, zum Mikrocontroller. Die Pins sind GND, TXD, RXD und VCC. |
| LED D1 (rot) | Zeigt das Vorhandensein der Versorgung an. Leuchtet, wenn die Pins VCC und GND versorgt sind, und bleibt ohne Versorgung aus. |
| Widerstand R1 | Widerstand von 1 kΩ, der den Strom durch die LED D1 begrenzt. |
| Kondensatoren C1 - C4 | Kondensatoren mit je 100 nF der Ladungspumpe des Schaltkreises MAX3232, die die positiven und negativen Spannungen der RS232-Leitung erzeugen. |
| Kondensator C5 | Kondensator mit 100 nF zur Filterung der Versorgung. |
| Montagebohrungen | Befestigung der Platine. |
Das Modul hat keine Taster, Potentiometer, Jumper oder Schalter, daher gibt es nichts einzustellen.
Pinbelegung:
| Anschluss | Pin | Funktion |
|---|---|---|
| TTL-Stiftleiste | VCC | Versorgung 3.3 - 5 VDC |
| TTL-Stiftleiste | GND | Masse |
| TTL-Stiftleiste | RXD | Datenausgang des Moduls, zum RX-Pin des Mikrocontrollers |
| TTL-Stiftleiste | TXD | Dateneingang des Moduls, vom TX-Pin des Mikrocontrollers |
| DB9-Buchse | 2 | RS232-Sendeleitung (Ausgang des Moduls) |
| DB9-Buchse | 3 | RS232-Empfangsleitung (Eingang des Moduls) |
| DB9-Buchse | 5 | Masse (GND) |
Verwendung:
Verbinden Sie den GND-Pin des Moduls mit der Masse des Mikrocontrollers und den VCC-Pin mit 3.3 V oder 5 V, auf dem gleichen Pegel wie die Logik des verwendeten Boards.
Überschreiten Sie nicht 5 V am VCC-Pin und achten Sie auf die richtige Polung der Versorgung.
Verbinden Sie den RXD-Pin des Moduls mit dem RX-Pin des Mikrocontrollers und den TXD-Pin des Moduls mit dem TX-Pin des Mikrocontrollers, direkt und ohne Kreuzung. Erscheinen beim ersten Test keine Daten, tauschen Sie die beiden Leitungen.
Verbinden Sie die Pins der DB9-Buchse niemals direkt mit den Pins des Mikrocontrollers, da die RS232-Pegel zwischen ±3 V und ±15 V liegen und die Pins beschädigen können.
Stecken Sie die DB9-Buchse in einen DB9-Stecker, zum Beispiel eines USB-zu-RS232-Kabels oder eines COM-Ports eines Computers. Hat das externe Gerät ebenfalls eine Buchse, verwenden Sie ein Null-Modem-Kabel.
Schalten Sie das Modul ein, die LED D1 leuchtet sofort auf. Bleibt sie aus, prüfen Sie die Verbindungen von VCC und GND.
Stellen Sie auf beiden Seiten der Verbindung dieselbe Geschwindigkeit und dasselbe Format ein, zum Beispiel 9600 Baud, 8N1.
Das Modul hat keine Taster, Jumper oder Schalter, und die LED D1 ist die einzige Anzeige.
Für stabile Ergebnisse verwenden Sie kurze Kabel, eine gemeinsame Masse zwischen allen Geräten und dieselbe Übertragungsgeschwindigkeit auf beiden Seiten.
- Versorgungsspannung
- 3.3-5 V DC
- Abmessungen
- 33 x 32 mm
- Schnittstelle
- RS232, TTL
- Logikspannung
- 3.3 V sau 5 V
- Steckverbindertyp
- DB9 Buchse
- Strom
- 6 mA
- Anzahl der Kanäle
- 1
- Integrierter Schaltkreis
- MAX3232
- Pin-Raster
- 2.54 mm
- Übertragungsrate
- 250 kbit/s
Produs destinat utilizarii in proiecte electronice, automatizari, prototipare, educatie si cercetare.
Produsul trebuie utilizat numai conform specificatiilor tehnice mentionate in descriere si/sau in documentatia produsului.
Avertismente generale de siguranta:
Nu utilizati produsul la tensiuni, curenti sau temperaturi peste valorile specificate.
Montajul si conectarea trebuie realizate de persoane cu cunostinte tehnice minime in domeniul electric/electronic.
Evitati scurtcircuitele, inversarea polaritatii si conectarea gresita a alimentarii.
Nu lasati produsul alimentat nesupravegheat in timpul testelor.
Produsul nu este jucarie si nu este destinat copiilor.
Pentru modulele electronice, se recomanda utilizarea in carcase, panouri sau montaje protejate, dupa caz.
Identificare produs:
Denumirea produsului, codul/SKU-ul si caracteristicile tehnice sunt mentionate in pagina produsului si/sau pe eticheta ambalajului.
Producator / Importator / Distribuitor:
Sigmanortec S.R.L.
Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania
E-mail: [email protected]
Website: www.sigmanortec.ro
Persoana responsabila in UE:
Sigmanortec S.R.L.
Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania
E-mail: [email protected]
Documentatie si siguranta:
Pentru informatii suplimentare, fise tehnice, declaratii de conformitate sau instructiuni, ne puteti contacta la [email protected].
/*
RS232 to TTL converter module (MAX3232) - two-way serial test
Board (Arduino IDE, Tools > Board): Arduino Uno
Board package: Arduino AVR Boards (comes with the Arduino IDE)
Libraries: none to install. SoftwareSerial is included with the Arduino IDE.
Wiring:
Module VCC -> Arduino 5V
Module GND -> Arduino GND
Module RXD -> Arduino D10 (SoftwareSerial RX)
Module TXD -> Arduino D11 (SoftwareSerial TX)
Module DB9 female -> USB to RS232 cable with DB9 male, connected to the PC
Settings: 9600 baud, 8N1 on the Serial Monitor and on the terminal
of the USB to RS232 cable (for example PuTTY).
*/
#include <SoftwareSerial.h>
const uint8_t RX_PIN = 10; // Arduino receives here (module RXD)
const uint8_t TX_PIN = 11; // Arduino transmits here (module TXD)
const unsigned long BAUD_RATE = 9600; // Same speed on all sides
const unsigned long SEND_INTERVAL = 2000; // Time between test messages in ms
const uint8_t BUFFER_SIZE = 64; // Maximum length of a received line
SoftwareSerial rs232(RX_PIN, TX_PIN); // Software serial port for the module
char rxBuffer[BUFFER_SIZE]; // Buffer for the line received from RS232
uint8_t rxIndex = 0; // Current position in the buffer
unsigned long lastSendTime = 0; // Time of the last test message
unsigned int counter = 0; // Number of test messages sent
void setup() {
Serial.begin(BAUD_RATE); // USB serial port for the Serial Monitor
rs232.begin(BAUD_RATE); // Serial port to the RS232 module
Serial.println(F("RS232 to TTL test started at 9600 baud."));
Serial.println(F("Open a terminal on the COM port of the USB-RS232 cable (9600, 8N1)."));
}
void loop() {
// Read what arrives from the RS232 side and print it as a line
while (rs232.available() > 0) {
char c = rs232.read();
if (c == '\n' || c == '\r') {
if (rxIndex > 0) { // Ignore empty lines
rxBuffer[rxIndex] = '\0'; // End the string
Serial.print(F("Received from RS232: "));
Serial.println(rxBuffer);
rxIndex = 0; // Start a new line
}
} else if (rxIndex < BUFFER_SIZE - 1) {
rxBuffer[rxIndex++] = c; // Store the character
}
}
// Forward what you type in the Serial Monitor to the RS232 side
while (Serial.available() > 0) {
rs232.write(Serial.read());
}
// Send a numbered test message at a fixed interval
if (millis() - lastSendTime >= SEND_INTERVAL) {
lastSendTime = millis();
counter++;
rs232.print(F("Hello from Arduino #"));
rs232.print(counter);
rs232.print(F("\r\n")); // Line end for the terminal
Serial.print(F("Sent to RS232: Hello from Arduino #"));
Serial.println(counter);
}
}
Das RS232-zu-TTL-Modul mit MAX3232 stellt die Verbindung zwischen einer klassischen seriellen RS232-Schnittstelle mit DB9-Stecker und einem Mikrocontroller her, der mit logischen Pegeln von 3.3 V oder 5 V arbeitet. Sie setzen es ein, wenn Sie ältere oder industrielle Geräte anschließen möchten, etwa Laborgeräte, Lesegeräte, Router-Konsolen, GSM-Module oder SPS, oder wenn Sie mit einem COM-Port eines Computers kommunizieren möchten.
In diesem Tutorial verwenden wir ein Arduino Uno R3 Board, denn das Modul wandelt nur die Signalpegel um und benötigt einen Mikrocontroller, der die Daten sendet und empfängt. Der Test besteht aus einer seriellen Verbindung in beide Richtungen zwischen dem Arduino und einem Computer, über ein USB-zu-RS232-Kabel.

So funktioniert es:
Ein Mikrocontroller erzeugt TTL-Pegel, also 0 V für logisch 0 und 3.3 V oder 5 V für logisch 1. Der Standard RS232 verwendet andere Pegel und eine invertierte Logik: Eine logische 1 ist eine negative Spannung zwischen -3 V und -15 V, eine logische 0 ist eine positive Spannung zwischen +3 V und +15 V. Würden Sie einen RS232-Port direkt an einen Arduino-Pin anschließen, würden Sie die vom Pin verkraftbare Spannung überschreiten und ihn beschädigen können.
Der integrierte Schaltkreis MAX3232 (U1 auf der Platine) löst dieses Problem. Er besitzt zwei Treiber und zwei Empfänger, wobei das Modul nur einen Kanal nutzt. Eine Ladungspumpe aus den Kondensatoren C1 - C4 mit je 100 nF erzeugt aus der Versorgung von 3.3 - 5 V die positiven und negativen Spannungen, die die RS232-Leitung benötigt. Der Kondensator C5 filtert die Versorgung. Der Schaltkreis arbeitet zwischen 3.0 V und 5.5 V und erreicht 250 kbit/s.
Am DB9-Buchsenstecker ist Pin 2 der Sendeausgang des Moduls, Pin 3 der Empfangseingang und Pin 5 die Masse. Steuerleitungen zur Flusskontrolle gibt es nicht. Auf der TTL-Seite ist der Pin RXD der Ausgang des Moduls zum Empfangspin des Mikrocontrollers, und der Pin TXD ist der Eingang des Moduls vom Sendepin des Mikrocontrollers. Deshalb erfolgt die Verbindung direkt, RXD an RX und TXD an TX, ohne Kreuzung.
Bei 9600 Baud mit dem Format 8N1 belegt jedes Zeichen 10 Bit, also ein Startbit, acht Datenbits und ein Stoppbit. Die Dauer eines Bits beträgt 1 / 9600, also etwa 104 Mikrosekunden, und ein Zeichen dauert etwa 1.04 ms. Daraus ergeben sich rund 960 Zeichen pro Sekunde.
Anschluss:
Versorgen Sie das Modul über den Pin 5V des Arduino Uno, der TTL-Pegel von 5 V liefert, die zum Uno passen. Verwenden Sie ein Board mit 3.3 V, versorgen Sie das Modul ebenfalls mit 3.3 V. Das Arduino Board bleibt über USB vom Computer versorgt. Verbinden Sie die Pins des DB9-Steckers niemals direkt mit den Pins des Arduino. An den Arduino werden nur die vier Pins der TTL-Leiste angeschlossen, die mit GND, TXD, RXD und VCC gekennzeichnet sind.
Der DB9-Stecker des Moduls ist eine Buchse und passt direkt in einen DB9-Stecker, wie er am USB-zu-RS232-Kabel oder am COM-Port eines Computers vorhanden ist. Hat das angeschlossene Gerät ebenfalls eine Buchse, verwenden Sie ein Nullmodemkabel.
| Produktpin | Anschluss an | Funktion |
|---|---|---|
| VCC | Arduino Uno 5V | Versorgung 3.3 - 5 V |
| GND | Arduino Uno GND | Gemeinsame Masse |
| RXD | Arduino Uno D10 | Daten vom Modul zum Arduino (RX-Pin von SoftwareSerial) |
| TXD | Arduino Uno D11 | Daten vom Arduino zum Modul (TX-Pin von SoftwareSerial) |
| DB9-Buchse | USB-zu-RS232-Kabel mit DB9-Stecker, angeschlossen am Computer | RS232-Leitung mit Pin 2 Senden, Pin 3 Empfangen, Pin 5 Masse |
Wir haben die Pins D10 und D11 mit der Bibliothek SoftwareSerial gewählt, weil die Pins D0 und D1 des Uno Boards vom seriellen Hardware-Port belegt sind, der über USB mit dem Serial Monitor kommuniziert. So können Sie die Meldungen auf dem Computer sehen, ohne etwas abzuziehen.
Taster, Einstellungen und Anzeigen:
Das Modul hat keine Taster, Potentiometer, Jumper oder Schalter, es gibt also nichts einzustellen. Es besitzt eine einzige Anzeige und zwei Anschlüsse.
| Element | Funktion | Verwendung |
|---|---|---|
| LED D1 (rot, mit Widerstand R1 von 1 kOhm) | Zeigt an, dass das Modul versorgt wird | Leuchtet, wenn VCC und GND versorgt sind. Bleibt sie aus, prüfen Sie die Versorgungsleitungen. |
| TTL-Leiste (GND, TXD, RXD, VCC) | Seite mit den logischen Pegeln, zum Mikrocontroller | Wird gemäß der Anschlusstabelle mit dem Arduino verbunden. |
| DB9-Buchse | RS232-Seite, zum externen Gerät | Wird in einen DB9-Stecker gesteckt, etwa den eines USB-zu-RS232-Kabels. |
Nachdem Sie die Verbindungen hergestellt und den Arduino per USB angeschlossen haben, muss die LED D1 sofort aufleuchten. Dies ist das einzige sichtbare Zeichen dafür, dass das Modul versorgt wird. Um zu prüfen, ob auch die Datenübertragung funktioniert, verwenden Sie das folgende Programm.
Board und Bibliotheken:
Wählen Sie in der Arduino IDE das Board Arduino Uno unter Tools > Board aus dem Paket Arduino AVR Boards, das mit der Arduino IDE geliefert wird und im Boards Manager zu finden ist. Es muss keine Bibliothek installiert werden, denn SoftwareSerial gehört zur Arduino IDE.
Auf dem Computer benötigen Sie außerdem ein Terminalprogramm für den COM-Port des USB-zu-RS232-Kabels, zum Beispiel PuTTY unter Windows oder screen unter Linux und macOS.
Der Code:
Das Programm sendet alle zwei Sekunden eine nummerierte Meldung an den RS232-Port und zeigt alles, was es von dort empfängt, im Serial Monitor an. Außerdem wird alles, was Sie im Serial Monitor eingeben, auf der RS232-Leitung weitergeleitet.
/*
RS232 to TTL converter module (MAX3232) - two-way serial test
Board (Arduino IDE, Tools > Board): Arduino Uno
Board package: Arduino AVR Boards (comes with the Arduino IDE)
Libraries: none to install. SoftwareSerial is included with the Arduino IDE.
Wiring:
Module VCC -> Arduino 5V
Module GND -> Arduino GND
Module RXD -> Arduino D10 (SoftwareSerial RX)
Module TXD -> Arduino D11 (SoftwareSerial TX)
Module DB9 female -> USB to RS232 cable with DB9 male, connected to the PC
Settings: 9600 baud, 8N1 on the Serial Monitor and on the terminal
of the USB to RS232 cable (for example PuTTY).
*/
#include <SoftwareSerial.h>
const uint8_t RX_PIN = 10; // Arduino receives here (module RXD)
const uint8_t TX_PIN = 11; // Arduino transmits here (module TXD)
const unsigned long BAUD_RATE = 9600; // Same speed on all sides
const unsigned long SEND_INTERVAL = 2000; // Time between test messages in ms
const uint8_t BUFFER_SIZE = 64; // Maximum length of a received line
SoftwareSerial rs232(RX_PIN, TX_PIN); // Software serial port for the module
char rxBuffer[BUFFER_SIZE]; // Buffer for the line received from RS232
uint8_t rxIndex = 0; // Current position in the buffer
unsigned long lastSendTime = 0; // Time of the last test message
unsigned int counter = 0; // Number of test messages sent
void setup() {
Serial.begin(BAUD_RATE); // USB serial port for the Serial Monitor
rs232.begin(BAUD_RATE); // Serial port to the RS232 module
Serial.println(F("RS232 to TTL test started at 9600 baud."));
Serial.println(F("Open a terminal on the COM port of the USB-RS232 cable (9600, 8N1)."));
}
void loop() {
// Read what arrives from the RS232 side and print it as a line
while (rs232.available() > 0) {
char c = rs232.read();
if (c == '\n' || c == '\r') {
if (rxIndex > 0) { // Ignore empty lines
rxBuffer[rxIndex] = '\0'; // End the string
Serial.print(F("Received from RS232: "));
Serial.println(rxBuffer);
rxIndex = 0; // Start a new line
}
} else if (rxIndex < BUFFER_SIZE - 1) {
rxBuffer[rxIndex++] = c; // Store the character
}
}
// Forward what you type in the Serial Monitor to the RS232 side
while (Serial.available() > 0) {
rs232.write(Serial.read());
}
// Send a numbered test message at a fixed interval
if (millis() - lastSendTime >= SEND_INTERVAL) {
lastSendTime = millis();
counter++;
rs232.print(F("Hello from Arduino #"));
rs232.print(counter);
rs232.print(F("\r\n")); // Line end for the terminal
Serial.print(F("Sent to RS232: Hello from Arduino #"));
Serial.println(counter);
}
}
So funktioniert der Code:
Zu Beginn werden die Konstanten RX_PIN (10) und TX_PIN (11), die Baudrate BAUD_RATE (9600), das Intervall SEND_INTERVAL (2000 ms) und die Größe BUFFER_SIZE (64) der empfangenen Zeile definiert. Das Objekt rs232 ist der mit SoftwareSerial auf den Pins D10 und D11 erzeugte softwareseitige serielle Port. Die Variablen rxBuffer, rxIndex, lastSendTime und counter speichern die gerade empfangene Zeile, deren Position darin, den Zeitpunkt der letzten gesendeten Meldung und die Anzahl der gesendeten Meldungen.
In der Funktion setup() starten wir den seriellen Hardware-Port Serial für den Serial Monitor und den Port rs232 zum Modul, beide mit 9600 Baud, danach geben wir zwei Startmeldungen aus.
In der Funktion loop() erledigen wir drei Dinge. Zuerst lesen wir die Zeichen, die vom Modul über rs232 eintreffen, mit rs232.read() und sammeln sie in rxBuffer. Erscheint ein Zeilenende ('\n' oder '\r') und der Puffer ist nicht leer, schließen wir die Zeichenkette mit '\0' ab und geben sie mit dem Präfix Received from RS232 aus. Leere Zeilen werden ignoriert, und der Puffer kann nicht überlaufen.
Danach leiten wir alles, was Sie im Serial Monitor eingeben, Zeichen für Zeichen mit rs232.write(Serial.read()) auf die RS232-Leitung weiter. Zum Schluss prüfen wir mit millis(), ob seit der letzten Meldung 2000 ms vergangen sind. Ist dies der Fall, erhöhen wir counter, senden den Text Hello from Arduino # gefolgt von der Nummer und dem Zeilenende \r\n und geben dieselbe Meldung auch im Serial Monitor aus.
Ergebnis:
Öffnen Sie den Serial Monitor mit 9600 Baud und ein Terminal (PuTTY oder screen) am COM-Port des USB-zu-RS232-Kabels, ebenfalls mit 9600 Baud, 8N1. Im Serial Monitor erscheinen die Meldungen, die alle zwei Sekunden gesendet werden, und im Terminal erscheint der Text Hello from Arduino mit der Nummer der Meldung. Was Sie im Terminal eingeben und mit Enter senden, erscheint im Serial Monitor mit dem Präfix Received from RS232.
RS232 to TTL test started at 9600 baud.
Open a terminal on the COM port of the USB-RS232 cable (9600, 8N1).
Sent to RS232: Hello from Arduino #1
Sent to RS232: Hello from Arduino #2
Received from RS232: Test from PC
Sent to RS232: Hello from Arduino #3
Sent to RS232: Hello from Arduino #4
Received from RS232: Second message
Sent to RS232: Hello from Arduino #5
Häufige Probleme:
Die LED D1 leuchtet nicht. Die Ursache ist fehlende Versorgung des Moduls. Prüfen Sie die Verbindungen VCC an 5V und GND an GND sowie die richtige Ausrichtung auf der TTL-Leiste, wo die Markierungen GND, TXD, RXD, VCC lauten.
Im Serial Monitor oder im Terminal kommt nichts an. Die Ursache kann das Kabel oder die Datenleitungen sein. Prüfen Sie, ob das Terminal den richtigen COM-Port verwendet, mit 9600 Baud, 8N1. Hat das externe Gerät einen DB9-Buchsenstecker, verwenden Sie ein Nullmodemkabel. Sind die Verbindungen korrekt und kommen trotzdem keine Daten an, vertauschen Sie die Leitungen an den Pins D10 und D11, denn die Markierungen RXD und TXD können bei verschiedenen Platinenvarianten unterschiedlich sein.
Im Terminal erscheinen seltsame Zeichen. Die Ursache ist eine unterschiedliche Baudrate auf den beiden Seiten oder fehlende gemeinsame Masse. Stellen Sie überall dieselbe Baudrate und dasselbe Format ein und prüfen Sie die Verbindung GND.
Die Daten gehen bei hohen Geschwindigkeiten verloren oder werden verfälscht. Die Ursache ist die Bibliothek SoftwareSerial, die auf dem Arduino Uno bei hohen Geschwindigkeiten nicht zuverlässig arbeitet. Verwenden Sie 9600 Baud oder höchstens 19200 Baud, oder einen seriellen Hardware-Port.
Das Board mit 3.3 V arbeitet instabil oder wird warm. Die Ursache ist die Versorgung des Moduls mit 5 V, die TTL-Pegel von 5 V liefert. Versorgen Sie das Modul mit 3.3 V.
Einschränkungen und Tipps:
Das Modul wandelt nur die Signale TX, RX und Masse um. Steuerleitungen zur Flusskontrolle (RTS, CTS) gibt es nicht, daher eignet es sich nicht für Geräte, die diese verlangen. Die maximale Geschwindigkeit des Schaltkreises MAX3232 beträgt 250 kbit/s, und die TTL-Seite akzeptiert eine Versorgung zwischen 3.3 V und 5 V.
Verwenden Sie für lange Verbindungen geschirmte Kabel und sorgen Sie für eine gemeinsame Masse. Mit diesem Modul können Sie ein Datenprotokoll eines Geräts mit seriellem Port aufzeichnen, eine Brücke zwischen einem industriellen Gerät und einer Mikrocontroller-Platine aufbauen oder eine serielle Konsole für einen Router realisieren.