Die serielle SchnittstelleDie serielle Schnittstelle ermöglicht eine Kommunikation zwischen dem Mikrocontroller und der Außenwelt, z.B. dem PC. Mit Hilfe der seriellen Schnittstelle lassen sich Messwerte erfassen und auch Daten an den Mikrocontroller senden. Auch beim Debuggen von Programmen ist die serielle Schnittstelle ein praktischer Helfer. UARTDie serielle Schnittstelle ist ein UART, d.h. ein Universal Asynchronous Receiver Transmitter. Genau genommen handelt es sich um ein TTL-UART, da die Signalpegel TTL-kompatibel sind. Die Datenübertragung erfolgt asynchron (ohne Taktsignal) über eine Sendeleitung (Tx, Transmit) und eine Empfangsleitung (Rx, Receive). Die Sendeleitung ist beim Arduino-Uno-Board der Pin 1. Die Empfangsleitung der Pin 0. Will man die serielle Schnittstelle nutzen, können die Pins 0 und 1 nicht als GPIO-Pins genutzt werden! Auf dem Arduino-Board befindet sich ein Konverter, der die TTL-Signale vom Mikrocontroller in ein USB-Signal umsetzt, das der PC verarbeiten kann. Standardmäßig sendet die Serielle Schnittstelle im 8N1-Format. Initialisierung der seriellen SchnittstelleVor der Verwendung der seriellen Schnittstelle muss diese im SETUP-Teil des Arduino-Sketches initialisiert werden. Dies geschieht mit dem Befehl Serial.begin(Baudrate). Die Baudrate gibt die Übertragungsgeschwindigkeit an und muss bei Sender und Empfänger übereinstimmen. Wenn der serielle Port bereit ist, liefert der Befehl if(Serial) ein wahres Ergebnis. Dies sollte im SETUP-Teil überprüft werden, um sicher zu gehen, dass die serielle Kommunikation möglich ist. Üblicherweise geschieht das in einer while()-Schleife. void setup() { Serial.begin(9600); // Serielle Schnittstelle auf 9600 Baud aktivieren. while(!Serial) {} // Warten bis die serielle Schnittstelle antwortet. } void loop() { } Codebeispiel: Initialisierung der seriellen Schnittstelle Kommunikation via serieller SchnittstelleMit den Befehlen Serial.print(), Serial.println() und Serial.write() können Daten über die serielle Schnittstelle versendet werden. Der serielle MonitorDie Arduino-IDE besitzt einen integrierten seriellen Monitor mit dem die serielle Kommunikation zwischen Mikrocontroller und PC möglich ist. Wenn ein Arduino-Board angeschlossen ist, kann man mit der Tastenkombination Strg.+Umschalt+M den seriellen Monitor in einem eigenen Fenster öffnen. Im seriellen Monitor kann auch die Baudrate für die Datenübertragung eingestellt werden. Der serielle Monitor ist ein hervorragendes Tool zum Debuggen von Programmen! Software UARTViele Arduino Boards bieten nur einen Hardware UART. Wenn aber mit zwei (oder mehreren) Geräten per UART kommuniziert werden soll, muss ein UART per Software emuliert werden (Software UART). Die SoftwareSerial Library
Die Die entsprechenden Pins müssen zunächst als Eingang bzw, Ausgang definiert werden.
Danach wird mit dem Beim Anschluss anderer Geräte ist auf die korrekte Anpassung der Logikpegel von 0 bis 3,3 V bzw. 5 V zu achten. Zu hohe oder zu niedrige (negative) Spannungen können den Mikrocontroller oder angeschlossene Geräte augenblicklich zerstören! |