Einleitung
Willkommen zu einem weiteren Velxio-Tutorial! Heute bauen wir einen Serial Echo-Test für den Raspberry Pi Pico (RP2040). Dieses Projekt ist perfekt für Anfänger, die verstehen möchten, wie serielle Kommunikation auf Mikrocontrollern funktioniert. Du lernst, wie du Daten über UART senden und empfangen, eine visuelle Anzeige mit einer LED hinzufügen und einen einfachen Herzschlag-Timer implementieren kannst.

Schaltungsdurchlauf
Die Schaltung ist erfreulich einfach. Wir brauchen nur zwei Komponenten:
- Raspberry Pi Pico (das Gehirn)
- Gelbe LED (visuelle Anzeige für serielle Aktivität)
Verdrahtung
- Verbinde die Anode (A) der gelben LED mit dem TX-Pin des Pico. Der TX-Pin wird für die serielle Übertragung verwendet, sodass die LED jedes Mal blinkt, wenn der Pico Daten sendet.
- Verbinde die Kathode (C) der LED mit GND (einem beliebigen Massepin am Pico).
Das war’s! Die LED ist in Reihe mit der TX-Leitung geschaltet, sodass sie leuchtet, wenn der Pico sendet. Dies gibt dir eine visuelle Bestätigung, dass serielle Daten fließen.

Code-Durchlauf
Lass uns in den Code eintauchen. Öffne den Velxio-Editor und du wirst den folgenden Sketch sehen:
// Raspberry Pi Pico — Serial Echo Test
// Echoes received characters and prints a heartbeat every 2 seconds
void setup() {
Serial.begin(115200);
delay(500);
Serial.println("=== Pico Serial Echo ===");
Serial.println("Type something and press Enter.");
Serial.println();
}
unsigned long lastHeartbeat = 0;
void loop() {
// Echo any incoming characters
while (Serial.available()) {
char c = Serial.read();
Serial.print("Echo: ");
Serial.println(c);
}
// Heartbeat every 2 seconds
if (millis() - lastHeartbeat >= 2000) {
lastHeartbeat = millis();
Serial.print("[Heartbeat] Uptime: ");
Serial.print(millis() / 1000);
Serial.println("s");
}
}
Wie es funktioniert
setup(): Initialisiert die serielle Kommunikation mit 115200 Baud. Nach einer kurzen Verzögerung wird eine Willkommensnachricht ausgegeben.loop(): Zwei Hauptaufgaben:- Echo: Überprüft, ob Daten auf dem seriellen Port verfügbar sind. Wenn ja, wird ein Zeichen gelesen und mit einem “Echo:“-Präfix zurückgegeben.
- Herzschlag: Alle 2000 Millisekunden (2 Sekunden) wird eine Herzschlag-Nachricht mit der Systemlaufzeit in Sekunden ausgegeben.
Die Variable lastHeartbeat merkt sich den Zeitpunkt des letzten Herzschlags und verwendet millis() für eine nicht-blockierende Zeitsteuerung.
Schlüsselkonzepte
Serielle Kommunikation (UART)
UART (Universal Asynchronous Receiver/Transmitter) ist ein einfaches serielles Protokoll. Der TX-Pin des Pico sendet Daten, der RX-Pin empfängt Daten. In diesem Beispiel verwenden wir nur TX für die Ausgabe, aber die Echo-Funktion nutzt auch RX (über das serielle Monitor).
Nicht-blockierendes Timing mit millis()
Anstatt delay() zu verwenden, das das gesamte Programm anhält, nutzen wir millis(), um die verstrichene Zeit zu prüfen. Dadurch kann die Echo-Schleife kontinuierlich laufen, während der Herzschlag in regelmäßigen Abständen ausgegeben wird.
LED als visuelle Anzeige
Durch den Anschluss der LED an den TX-Pin erhalten wir eine Echtzeit-Visualisierung der seriellen Aktivität. Jedes Mal, wenn der Pico ein Zeichen sendet, blinkt die LED kurz auf.
Häufige Fallstricke & Debugging-Tipps
- Baudraten-Konflikt: Stelle sicher, dass das serielle Monitor auf 115200 Baud eingestellt ist. Wenn du Zeichensalat siehst, überprüfe die Baudrate.
- LED blinkt nicht: Überprüfe die Polarität der LED (Anode an TX, Kathode an GND). Stelle auch sicher, dass der Pico tatsächlich sendet (z. B. etwas im seriellen Monitor eingeben).
- Kein Echo: Stelle sicher, dass du Daten an den RX-Pin des Pico sendest. In Velxio erledigt das serielle Monitor dies automatisch.
- Herzschlag wird nicht ausgegeben: Überprüfe, ob
lastHeartbeatalsunsigned longdeklariert ist und die Vergleichslogik korrekt ist.

Vorgeschlagene Erweiterungen
Sobald das grundlegende Echo funktioniert, probiere diese Verbesserungen aus:
- Eine RX-LED hinzufügen: Schließe eine weitere LED an den RX-Pin an, um anzuzeigen, wenn Daten empfangen werden.
- Befehlsanalyse: Statt nur zu echoen, interpretiere Befehle wie “LED ON” oder “LED OFF”, um eine externe LED zu steuern.
- Mehrere Baudraten: Erlaube dem Benutzer, die Baudrate über einen seriellen Befehl zu ändern.
- In Konsole protokollieren: Speichere empfangene Daten in einem Puffer und gib sie auf Anfrage aus.

Aufruf zum Handeln
Bereit, es selbst auszuprobieren? Öffne das Live-Beispiel auf Velxio und beginne zu experimentieren: Pico Serial Echo auf Velxio. Du kannst den Code ändern, die LED-Farbe wechseln oder neue Komponenten hinzufügen. Viel Spaß beim Hacken!