Indietro

Controllo LED Seriale con Arduino: Invia Comandi per Lampeggiare

Introduzione

Benvenuto nel progetto Controllo LED Seriale! In questo tutorial, imparerai come controllare un LED collegato a un Arduino Uno inviando semplici comandi tramite il Monitor Seriale. Questo è un classico progetto per principianti che combina due concetti fondamentali: la comunicazione USART (Universal Synchronous/Asynchronous Receiver-Transmitter) e l’output GPIO (General Purpose Input/Output). Alla fine, sarai in grado di accendere e spegnere un LED digitando “1” o “0” nel Monitor Seriale, e persino di interrogare lo stato del LED con ”?”.

Utilizzeremo Velxio, un simulatore di circuiti e microcontrollori basato su browser con supporto analogico accurato SPICE. Nessun hardware necessario — solo il tuo browser! Iniziamo.

Panoramica del Circuito

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

Il circuito è estremamente semplice. Hai bisogno solo di due componenti:

Dettagli del Cablaggio

  1. Anodo del LED (gambo lungo, pin A) si collega al pin 13 di Arduino tramite un filo verde (#00cc00).
  2. Catodo del LED (gambo corto, pin C) si collega al GND di Arduino tramite un filo nero (#000000).

Questo è tutto! Non è necessario alcun resistore perché il pin 13 di Arduino Uno ha già un resistore limitatore di corrente integrato sulla scheda. In un circuito reale, aggiungeresti un resistore da 220Ω in serie con il LED, ma per la simulazione funziona perfettamente.

Come Costruire in Velxio

  1. Apri l’esempio di Controllo LED Seriale in Velxio.
  2. Vedrai l’Arduino Uno e il LED già posizionati sul canvas. Se vuoi costruire da zero, usa il selettore di componenti (mostrato sotto) per aggiungere un Arduino Uno e un LED.

Modale del selettore di componenti Velxio che sfoglia le parti per categoria

  1. Clicca sull’Arduino Uno per selezionarlo, poi clicca sul pin 13. Trascina un filo verso l’anodo del LED (pin A).
  2. Allo stesso modo, collega il catodo del LED (pin C) a qualsiasi pin GND sull’Arduino.
  3. Usa la barra degli strumenti del canvas per zoomare e spostarti per una visuale migliore.

Barra degli strumenti del canvas Velxio sopra l'area di simulazione

Panoramica del Codice

Codice sorgente per serial-led-control nell'editor Monaco di Velxio

Ora esaminiamo il codice che fa funzionare tutto. Apri l’editor di codice in Velxio (vedrai l’editor Monaco con evidenziazione della sintassi).

// 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;
    }
  }
}

Come Funziona

Esecuzione della Simulazione

  1. Clicca sul pulsante Esegui nella barra degli strumenti dell’editor.

Barra degli strumenti dell'editor Velxio con controlli di compilazione ed esecuzione

  1. Apri il Monitor Seriale (di solito un pulsante nella barra degli strumenti o un pannello separato).
  2. Digita 1 e premi Invio — il LED verde dovrebbe accendersi.
  3. Digita 0 — il LED si spegne.
  4. Digita ? — vedrai lo stato e il tempo di attività.

Concetti Chiave per gli Studenti

Questo progetto insegna diversi concetti importanti:

Insidie Comuni e Suggerimenti per il Debug

Estensioni Suggerite

Una volta padroneggiato questo progetto, prova questi miglioramenti:

  1. Aggiungi un secondo LED sul pin 12 e controllalo con comandi come ‘2’ e ‘3’.
  2. Usa PWM per controllare la luminosità: invia un numero da 0 a 255 per impostare la luminosità del LED tramite analogWrite().
  3. Aggiungi un pulsante come input: leggi un pin digitale e commuta il LED quando viene premuto.
  4. Implementa un parser di comandi che accetti stringhe come “ON” o “OFF” invece di singoli caratteri.
  5. Registra dati sul Monitor Seriale: stampa letture di sensori o timestamp.

Conclusione

Hai appena costruito un semplice ma potente controller LED Seriale! Questo progetto è la base per innumerevoli progetti IoT e di automazione in cui controlli l’hardware tramite comandi di testo. Velxio rende facile sperimentare senza componenti fisici.

Pronto a provarlo tu stesso? Apri l’esempio di Controllo LED Seriale in Velxio, esegui la simulazione e inizia a inviare comandi. Buon divertimento!


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 con Arduino: Trova Ogni Dispositivo sul Bus
Articolo successivo
Echo Seriale con Arduino: Impara la Comunicazione USART