Einführung

UART (Universal Asynchronous Receiver-Transmitter) ist ein unverzichtbares serielles Kommunikationsprotokoll in der Welt der Elektronik und Mikrocontroller. Es ermöglicht eine einfache und effiziente Kommunikation zwischen einem Arduino und anderen Geräten wie Sensoren, GPS-Modulen, Bluetooth-Modulen, Computern usw.

Diese Kommunikation erfolgt über die digitalen Pins des Arduino mithilfe einer asynchronen seriellen Datenübertragung.

So funktioniert die Verbindung

Eine UART-Verbindung („Universal Asynchronous Receiver Transmitter“) ist ein universeller asynchroner Transceiver. Die UART-Verbindung ist exklusiv, d. h. ein Master kann pro Verbindung nur mit einem Slave kommunizieren, wie unten zu sehen ist:

liaison uart

Die UART-Verbindung ist asynchron. Das bedeutet, dass für die Übertragung kein Takt erforderlich ist, sondern den Daten vor der Übertragung ein Paritätsbit hinzugefügt wird.

Es handelt sich um eine exklusive Verbindung, d. h., dass nur ein Kabel alle Datenbits überträgt.

Die UART-Verbindung ist eine Vollduplex-Verbindung, d. h. Sie können während der Bitübertragung mithören. Die UART-Verbindung hat eine niedrige Datenrate von 100 bps bis 200 kbps.

Der UART wandelt parallele Daten vom Mikrocontroller in serielle Daten um, überträgt diese bitweise und wandelt die seriellen Daten anschließend auf der Empfangsseite wieder in parallele Daten um. Die UART-Kommunikation ist asynchron, d. h. sie benötigt kein gemeinsames Taktsignal zwischen Sende- und Empfangsgerät.

Die UART-Kommunikationsleitungen sind:

TX (Transmit): Sendet Daten.
RX (Receive): Empfängt Daten.

Diese beiden Leitungen ermöglichen den bidirektionalen Datenaustausch.

UART-Pin auf der Arduino-Platine

Auf Arduino-Boards wird der UART zur Programmübertragung verwendet. Daher empfehlen wir, die an den UART angeschlossene Komponente zu trennen, wenn Sie ein neues Programm hochladen möchten. Andernfalls tritt in der Arduino IDE eine Fehlermeldung auf.

Pin-Belegung
Arduino Uno/Nano: TX (Pin 1), RX (Pin 0)
Arduino Mega: Mehrere serielle Hardware-Ports, darunter Serial1, Serial2 und Serial3.

Die Pin-Belegung auf dem Arduino UNO-Board ist wie folgt:

Schreiben an den UART

Das Schreiben auf den UART ist mit Arduino sehr einfach, da der Bus mit dem seriellen Monitor der Arduino IDE gelesen werden kann. Hier ist ein Programm, mit dem Sie auf den UART Ihres Arduino-Boards schreiben können:

void setup() {
  Serial.begin(9600); 
}

void loop() {
  Serial.println("Hello, UART!"); 
  delay(1000);
}

Um „Hello UART“ zu sehen, schließen Sie einfach Ihren Arduino an Ihren Computer an und öffnen Sie den seriellen Monitor in der Arduino IDE mit 9600 bd/s.

Lesen auf dem UART

Das Lesen von UART kann auch mit dem seriellen Monitor der Arduino IDE verwendet werden. Senden Sie einfach Text oder Werte über den seriellen Monitor, und das Arduino-Board antwortet Ihnen mit dem vom seriellen Monitor gelesenen Wert mit dem folgenden Programm:

void setup() {
  Serial.begin(9600); 
}

void loop() {
  if (Serial.available() > 0) { 
    int incomingByte = Serial.read(); 
    Serial.print("J'ai reçu : ");
    Serial.println(incomingByte, DEC);
  }
}

Abschluss

Wenn Sie mehr über Kommunikationsbusse auf Arduino erfahren möchten, haben wir Kurse zu SPI und I2C angeboten.