Zurück

Pico Serial Echo: UART auf dem RP2040 mit Velxio testen

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.

Schaltplan von pico-serial-echo auf der Velxio-Simulator-Leinwand

Schaltungsdurchlauf

Die Schaltung ist erfreulich einfach. Wir brauchen nur zwei Komponenten:

Verdrahtung

  1. 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.
  2. 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.

Velxio-Editor-Symbolleiste mit Kompilieren- und Ausführen-Steuerung

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

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

Velxio-Leinwand-Symbolleiste über dem Simulations-Viewport

Vorgeschlagene Erweiterungen

Sobald das grundlegende Echo funktioniert, probiere diese Verbesserungen aus:

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

Velxio-Komponentenauswahl-Modal zum Durchsuchen von Teilen nach Kategorie

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!


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
Pico Serial LED Steuerung: Baue deine erste Befehlschnittstelle
Nächster Artikel
Eine LED auf dem Raspberry Pi Pico mit dem Velxio Simulator blinken lassen