Indietro

Controllo LED Seriale su Pico: Crea la Tua Prima Interfaccia a Comandi

Introduzione

Benvenuto al tuo primo progetto con controllo seriale su Raspberry Pi Pico! In questo tutorial, costruiremo un semplice circuito che ti permette di accendere e spegnere un LED digitando comandi nel monitor seriale. Imparerai le basi della comunicazione seriale, dell’uscita digitale e come usare il simulatore Velxio per testare il tuo codice senza alcun hardware.

Questo progetto è perfetto per principianti che vogliono capire come i microcontrollori comunicano con un computer. Alla fine, sarai in grado di estendere il concetto per controllare più LED, leggere sensori o persino costruire un semplice sistema di menu.

Panoramica del Circuito

Diamo un’occhiata al circuito che costruiremo. Apri l’esempio in Velxio e vedrai i seguenti componenti:

Diagramma del circuito di pico-serial-led-control sul canvas del simulatore Velxio

Dettagli di Cablaggio

  1. Dal Pico D2 all’Anodo del LED: Un filo verde collega il pin D2 del Pico all’anodo (A) del LED. Questo è il segnale di controllo.
  2. Dal Catodo del LED al Resistore: Un filo grigio collega il catodo (C) del LED a un’estremità del resistore (pin 1).
  3. Dal Resistore al GND del Pico: Un filo nero collega l’altra estremità del resistore (pin 2) alla massa (GND.1) del Pico.

Questo è tutto! Il circuito è semplice ma efficace. Il resistore è essenziale per evitare di bruciare il LED. Con un resistore da 220Ω e una tipica tensione diretta del LED di circa 2V, la corrente sarà circa (3.3V - 2V) / 220Ω ≈ 6mA, che è sicura.

Analisi del Codice

Ora immergiamoci nel codice. Apri l’editor in Velxio e vedrai il seguente sketch Arduino:

// Raspberry Pi Pico — Serial LED Control
// Send '1' to turn LED ON, '0' to turn OFF, '?' for status

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(115200);
  delay(500);
  Serial.println("=== Pico LED Control ===");
  Serial.println("Commands: 1=ON  0=OFF  ?=status");
}

void loop() {
  if (Serial.available()) {
    char cmd = Serial.read();
    switch (cmd) {
      case '1':
        digitalWrite(LED_BUILTIN, HIGH);
        Serial.println("LED: ON");
        break;
      case '0':
        digitalWrite(LED_BUILTIN, LOW);
        Serial.println("LED: OFF");
        break;
      case '?':
        Serial.print("LED: ");
        Serial.println(digitalRead(LED_BUILTIN) ? "ON" : "OFF");
        break;
      default:
        if (cmd >= ' ') {
          Serial.print("Unknown command: ");
          Serial.println(cmd);
        }
        break;
    }
  }
}

Come Funziona

Nota che usiamo LED_BUILTIN, una costante predefinita per il LED integrato del Pico (di solito sul pin 25). Nel nostro circuito, abbiamo collegato un LED esterno al pin D2, ma il codice usa ancora il LED integrato. Se vuoi controllare il LED esterno, cambia LED_BUILTIN in 2 (o definisci una costante). Per questo esempio, il LED integrato funziona bene.

Concetti Chiave

Insidie Comuni e Suggerimenti per il Debug

Estensioni Suggerite

Una volta che hai il progetto base funzionante, prova questi miglioramenti:

  1. Controlla un LED Esterno: Cambia LED_BUILTIN in 2 e collega un LED esterno al pin D2 come mostrato nello schema del circuito.
  2. Aggiungi Più LED: Usa più pin e comandi come ‘r’ per rosso, ‘g’ per verde, ‘b’ per blu.
  3. Dimmerazione PWM: Usa analogWrite() per impostare livelli di luminosità. Invia valori come ‘0’ a ‘9’ per luminosità dallo 0% al 100%.
  4. Comunicazione Bidirezionale: Fai sì che il Pico invii dati del sensore (es. temperatura) quando invii un comando come ‘t’.
  5. Sistema di Menu: Stampa un menu di opzioni e usa un ciclo per attendere un input valido.

Invito all’Azione

Pronto a provarlo tu stesso? Apri l’esempio live in Velxio e inizia a sperimentare: Controllo LED Seriale su Pico su Velxio. Nessun download, nessuna configurazione—solo il tuo browser e la tua curiosità. Buon hacking!


Condividi su:
David Montero

Scritto da

David Montero

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

GitHub velxio.dev

Articoli correlati


Articolo precedente
Scanner I2C per Pico: Trova Dispositivi sul Bus
Articolo successivo
Pico Serial Echo: test UART su RP2040 con Velxio