Zurück

Serielle LED-Steuerung mit Arduino — Befehle zum Blinken senden

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

Schaltplan der seriellen LED-Steuerung auf der Velxio-Simulator-Leinwand

Die Schaltung ist unglaublich einfach. Du benötigst nur zwei Komponenten:

Verdrahtungsdetails

  1. LED-Anode (langes Bein, Pin A) wird über ein grünes Kabel (#00cc00) mit Arduino-Pin 13 verbunden.
  2. 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

  1. Öffne das Beispiel Serielle LED-Steuerung in Velxio.
  2. 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.

Velxio-Komponentenauswahl-Modal zum Durchsuchen von Teilen nach Kategorie

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

Velxio-Leinwand-Symbolleiste über dem Simulations-Viewport

Code-Durchlauf

Quellcode für die serielle LED-Steuerung im Velxio-Monaco-Editor

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

Die Simulation ausführen

  1. Klicke auf die Schaltfläche Ausführen in der Editor-Symbolleiste.

Velxio-Editor-Symbolleiste mit Compile- und Run-Steuerelementen

  1. Öffne den seriellen Monitor (normalerweise eine Schaltfläche in der Symbolleiste oder ein separates Panel).
  2. Gib 1 ein und drücke die Eingabetaste – die grüne LED sollte aufleuchten.
  3. Gib 0 ein – die LED schaltet sich aus.
  4. Gib ? ein – du siehst den Status und die Laufzeit.

Wichtige Konzepte für Studierende

Dieses Projekt vermittelt mehrere wichtige Konzepte:

Häufige Fallstricke und Debugging-Tipps

Vorgeschlagene Erweiterungen

Sobald du dieses Projekt gemeistert hast, probiere diese Verbesserungen aus:

  1. Füge eine zweite LED an Pin 12 hinzu und steuere sie mit Befehlen wie ‘2’ und ‘3’.
  2. Verwende PWM, um die Helligkeit zu steuern: sende eine Zahl von 0 bis 255, um die LED-Helligkeit über analogWrite() einzustellen.
  3. Füge einen Taster als Eingabe hinzu: lies einen digitalen Pin und schalte die LED um, wenn er gedrückt wird.
  4. Implementiere einen Befehlsparser, der Zeichenfolgen wie „ON” oder „OFF” anstelle von einzelnen Zeichen akzeptiert.
  5. 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!


Teilen auf:
David Montero

Geschrieben von

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

Ähnliche Artikel


Vorheriger Artikel
I2C-Scanner mit Arduino: Jedes Gerät am Bus finden
Nächster Artikel
Serielles Echo mit Arduino: USART-Kommunikation lernen