Einleitung
Willkommen zum Projekt Serielle LED-Steuerung! In diesem Tutorial lernst du, wie du eine an einen Arduino Uno angeschlossene LED steuerst, indem du einfache Befehle über den seriellen Monitor sendest. Dies ist ein klassisches Einsteigerprojekt, das zwei grundlegende Konzepte vereint: USART (Universal Synchronous/Asynchronous Receiver-Transmitter)-Kommunikation und GPIO (General Purpose Input/Output)-Ausgabe. Am Ende wirst du in der Lage sein, eine LED durch Eingabe von „1” oder „0” im seriellen Monitor ein- und auszuschalten und sogar den LED-Status mit „?” abzufragen.
Wir verwenden Velxio, einen browserbasierten Schaltkreis- und Mikrocontroller-Simulator mit SPICE-genauer Analogunterstützung. Keine Hardware nötig – nur dein Browser! Lass uns loslegen.
Schaltungsdurchlauf

Die Schaltung ist unglaublich einfach. Du benötigst nur zwei Komponenten:
- Arduino Uno (das Gehirn)
- Grüne LED (das Ausgabegerät)
Verdrahtungsdetails
- LED-Anode (langes Bein, Pin A) wird über ein grünes Kabel (
#00cc00) mit Arduino-Pin 13 verbunden. - LED-Kathode (kurzes Bein, Pin C) wird über ein schwarzes Kabel (
#000000) mit Arduino GND verbunden.
Das war’s! Es wird kein Widerstand benötigt, da der Pin 13 des Arduino Uno bereits einen eingebauten Strombegrenzungswiderstand auf dem Board hat. In einem echten Schaltkreis würdest du einen 220Ω-Widerstand in Reihe mit der LED hinzufügen, aber für die Simulation funktioniert das perfekt.
So baust du es in Velxio auf
- Öffne das Beispiel Serielle LED-Steuerung in Velxio.
- Du siehst den Arduino Uno und die LED bereits auf der Leinwand platziert. Wenn du von Grund auf neu bauen möchtest, verwende die Komponentenauswahl (unten gezeigt), um einen Arduino Uno und eine LED hinzuzufügen.

- Klicke auf den Arduino Uno, um ihn auszuwählen, und klicke dann auf Pin 13. Ziehe ein Kabel zur Anode der LED (Pin A).
- Verbinde auf ähnliche Weise die Kathode der LED (Pin C) mit einem beliebigen GND-Pin des Arduino.
- Verwende die Leinwand-Symbolleiste, um zu zoomen und zu schwenken, um eine bessere Ansicht zu erhalten.

Code-Durchlauf

Schauen wir uns nun den Code an, der dies ermöglicht. Öffne den Code-Editor in Velxio (du siehst den Monaco-Editor mit Syntax-Highlighting).
// Serial LED Control
// Send "1" to turn LED ON, "0" to turn LED OFF.
// Demonstrates Serial input controlling hardware.
const int LED_PIN = 13;
void setup() {
Serial.begin(9600);
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
Serial.println("=========================");
Serial.println(" Serial LED Controller");
Serial.println("=========================");
Serial.println("Send '1' = LED ON");
Serial.println("Send '0' = LED OFF");
Serial.println("Send '?' = Status");
Serial.println();
}
bool ledState = false;
void loop() {
if (Serial.available() > 0) {
char cmd = Serial.read();
switch (cmd) {
case '1':
digitalWrite(LED_PIN, HIGH);
ledState = true;
Serial.println("[OK] LED is ON");
break;
case '0':
digitalWrite(LED_PIN, LOW);
ledState = false;
Serial.println("[OK] LED is OFF");
break;
case '?':
Serial.print("[STATUS] LED is ");
Serial.println(ledState ? "ON" : "OFF");
Serial.print("[STATUS] Uptime: ");
Serial.print(millis() / 1000);
Serial.println("s");
break;
default:
if (cmd >= 32) { // ignore control chars
Serial.print("[ERR] Unknown command: '");
Serial.print(cmd);
Serial.println("' (use 1, 0, or ?)");
}
break;
}
}
}
Wie es funktioniert
const int LED_PIN = 13;– Wir definieren den LED-Pin als 13 (der eingebaute LED-Pin auf dem Arduino Uno).setup()– Initialisiert die serielle Kommunikation mit 9600 Baud, setzt den LED-Pin als Ausgang und gibt eine Begrüßungsnachricht aus.loop()– Überprüft, ob Daten auf dem seriellen Port verfügbar sind. Wenn ja, wird ein Zeichen gelesen und mit einerswitch-Anweisung verarbeitet.'1': Schaltet die LED ein (digitalWrite(LED_PIN, HIGH)) und aktualisiertledState.'0': Schaltet die LED aus (digitalWrite(LED_PIN, LOW)).'?': Gibt den aktuellen LED-Status und die Systemlaufzeit in Sekunden aus.- Jedes andere druckbare Zeichen gibt eine Fehlermeldung aus.
Die Simulation ausführen
- Klicke auf die Schaltfläche Ausführen in der Editor-Symbolleiste.

- Öffne den seriellen Monitor (normalerweise eine Schaltfläche in der Symbolleiste oder ein separates Panel).
- Gib
1ein und drücke die Eingabetaste – die grüne LED sollte aufleuchten. - Gib
0ein – die LED schaltet sich aus. - Gib
?ein – du siehst den Status und die Laufzeit.
Wichtige Konzepte für Studierende
Dieses Projekt vermittelt mehrere wichtige Konzepte:
- Serielle Kommunikation: Der Arduino kommuniziert über USART mit deinem Computer.
Serial.begin(9600)legt die Baudrate (Bits pro Sekunde) fest. - GPIO-Ausgabe:
pinMode()unddigitalWrite()steuern digitale Pins. - Zustandsvariablen:
ledStateverfolgt den aktuellen Zustand der LED, sodass der Statusbefehl funktioniert. - Eingabeanalyse: Lesen von Zeichen aus der seriellen Schnittstelle und Verwenden von
switchzur Verarbeitung von Befehlen. - Fehlerbehandlung: Der
default-Fall fängt ungültige Eingaben ab und gibt Rückmeldung.
Häufige Fallstricke und Debugging-Tipps
- Serieller Monitor zeigt keine Ausgabe an? Stelle sicher, dass die Baudrate übereinstimmt (9600). Stelle außerdem sicher, dass du auf die Verbindungsschaltfläche des seriellen Monitors geklickt hast.
- LED reagiert nicht? Überprüfe, ob die LED richtig verdrahtet ist: Anode an Pin 13, Kathode an GND. In Velxio sind Kabel farbcodiert; überprüfe die Verbindungen.
- Befehle funktionieren nicht? Der Code ignoriert nicht druckbare Zeichen (ASCII < 32). Wenn du Zeilenumbrüche sendest, werden diese ignoriert. Verwende die Option „Kein Zeilenende” des seriellen Monitors oder sende nur das Zeichen.
- Mehrere Zeichen? Der Code liest jeweils ein Zeichen. Wenn du „10” sendest, verarbeitet er in separaten Schleifendurchläufen zuerst ‘1’ und dann ‘0’.
Vorgeschlagene Erweiterungen
Sobald du dieses Projekt gemeistert hast, probiere diese Verbesserungen aus:
- Füge eine zweite LED an Pin 12 hinzu und steuere sie mit Befehlen wie ‘2’ und ‘3’.
- Verwende PWM, um die Helligkeit zu steuern: sende eine Zahl von 0 bis 255, um die LED-Helligkeit über
analogWrite()einzustellen. - Füge einen Taster als Eingabe hinzu: lies einen digitalen Pin und schalte die LED um, wenn er gedrückt wird.
- Implementiere einen Befehlsparser, der Zeichenfolgen wie „ON” oder „OFF” anstelle von einzelnen Zeichen akzeptiert.
- Protokolliere Daten auf dem seriellen Monitor: gib Sensorwerte oder Zeitstempel aus.
Fazit
Du hast gerade einen einfachen, aber leistungsstarken seriellen LED-Controller gebaut! Dieses Projekt ist die Grundlage für unzählige IoT- und Automatisierungsprojekte, bei denen du Hardware über Textbefehle steuerst. Velxio macht es einfach, ohne physische Komponenten zu experimentieren.
Bereit, es selbst auszuprobieren? Öffne das Beispiel Serielle LED-Steuerung in Velxio, führe die Simulation aus und beginne, Befehle zu senden. Viel Spaß beim Tüfteln!