Hast du schon mal Serial.begin(9600);
in deinem Arduino-Code gesehen und dich gefragt, was da eigentlich genau passiert? Keine Sorge, damit bist du nicht allein! Die serielle Kommunikation ist ein unglaublich wichtiges Werkzeug für Arduino-Bastler, um Daten zwischen deinem Mikrocontroller und dem Computer (oder anderen Geräten) auszutauschen. In diesem Tutorial tauchen wir tiefer in die serielle Kommunikation ein, erklären, wie sie funktioniert und wie du sie effektiv einsetzen kannst, um deine Projekte auf das nächste Level zu heben.
Für dieses Tutorial brauchst du nicht viel. Eigentlich nur:
Die serielle Kommunikation über USB bei einem Arduino Uno ist denkbar einfach: Es ist kein zusätzlicher Schaltplan notwendig! Der Arduino Uno kommuniziert über den USB-Anschluss mit deinem Computer. Der USB-Anschluss dient sowohl zur Stromversorgung als auch zur Datenübertragung. Die seriellen Kommunikationsleitungen (RX und TX) des Arduino Uno sind intern mit dem USB-Seriell-Wandler verbunden. Du musst also nichts extra verdrahten. Stecke das USB-Kabel in den Arduino und in deinen Computer - fertig!
Hier ein einfaches Beispiel, das dir zeigt, wie du Daten vom Arduino an den Computer sendest:
// Definiere eine Konstante für die LED-Pin-Nummer
const int ledPin = 13;
void setup() {
// Starte die serielle Kommunikation mit 9600 Baud
Serial.begin(9600);
// Setze den LED-Pin als Ausgang
pinMode(ledPin, OUTPUT);
}
void loop() {
// Sende einen Text an den seriellen Monitor
Serial.println("Hallo Welt vom Arduino!");
// Schalte die LED ein
digitalWrite(ledPin, HIGH);
// Warte eine Sekunde
delay(1000);
// Sende einen anderen Text an den seriellen Monitor
Serial.println("LED ist an.");
// Schalte die LED aus
digitalWrite(ledPin, LOW);
// Warte eine Sekunde
delay(1000);
// Sende einen weiteren Text an den seriellen Monitor
Serial.println("LED ist aus.");
}
Serial.begin(9600);
: Diese Zeile initialisiert die serielle Kommunikation mit einer Baudrate von 9600. Die Baudrate bestimmt die Geschwindigkeit, mit der Daten übertragen werden. Stelle sicher, dass die Baudrate in deinem Arduino-Code mit der Baudrate im seriellen Monitor deiner Arduino IDE übereinstimmt.Serial.println("Hallo Welt vom Arduino!");
: Diese Zeile sendet den Text "Hallo Welt vom Arduino!" an den seriellen Monitor. println
fügt automatisch eine neue Zeile am Ende des Textes hinzu. Es gibt auch Serial.print()
, welches keine neue Zeile hinzufügt.digitalWrite(ledPin, HIGH);
und digitalWrite(ledPin, LOW);
: Diese Zeilen schalten die LED ein und aus, um zu zeigen, dass der Arduino Code ausgeführt wird.delay(1000);
: Diese Zeile pausiert die Ausführung des Codes für 1000 Millisekunden (1 Sekunde).Wenn du diesen Code auf deinen Arduino hochlädst und den seriellen Monitor in der Arduino IDE öffnest (Werkzeuge -> Serieller Monitor), solltest du die Nachrichten "Hallo Welt vom Arduino!", "LED ist an." und "LED ist aus." im Abstand von einer Sekunde sehen.
Serial.available()
um zu prüfen ob Daten empfangen wurden und Serial.read()
um die Daten zu lesen.Serial.print(variable, DEC)
um eine Variable als Dezimalzahl auszugeben, oder Serial.print(variable, HEX)
um sie als Hexadezimalzahl auszugeben.Die serielle Kommunikation ist ein mächtiges Werkzeug, um dein Arduino-Projekt zu debuggen, Daten zu visualisieren oder mit anderen Geräten zu interagieren. Mit den Grundlagen, die du in diesem Tutorial gelernt hast, bist du gut gerüstet, um die serielle Kommunikation in deinen eigenen Projekten einzusetzen und noch mehr aus deinem Arduino herauszuholen. Viel Spaß beim Experimentieren!