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

Il circuito è estremamente semplice. Hai bisogno solo di due componenti:
- Arduino Uno (il cervello)
- LED Verde (il dispositivo di output)
Dettagli del Cablaggio
- Anodo del LED (gambo lungo, pin A) si collega al pin 13 di Arduino tramite un filo verde (
#00cc00). - 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
- Apri l’esempio di Controllo LED Seriale in Velxio.
- 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.

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

Panoramica del Codice

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
const int LED_PIN = 13;– Definiamo il pin del LED come 13 (il pin LED integrato su Arduino Uno).setup()– Inizializza la comunicazione Seriale a 9600 baud, imposta il pin del LED come output e stampa un messaggio di benvenuto.loop()– Controlla se ci sono dati disponibili sulla porta Seriale. Se sì, legge un carattere e lo elabora con un’istruzioneswitch.'1': Accende il LED (digitalWrite(LED_PIN, HIGH)) e aggiornaledState.'0': Spegne il LED (digitalWrite(LED_PIN, LOW)).'?': Stampa lo stato corrente del LED e il tempo di attività del sistema in secondi.- Qualsiasi altro carattere stampabile stampa un messaggio di errore.
Esecuzione della Simulazione
- Clicca sul pulsante Esegui nella barra degli strumenti dell’editor.

- Apri il Monitor Seriale (di solito un pulsante nella barra degli strumenti o un pannello separato).
- Digita
1e premi Invio — il LED verde dovrebbe accendersi. - Digita
0— il LED si spegne. - Digita
?— vedrai lo stato e il tempo di attività.
Concetti Chiave per gli Studenti
Questo progetto insegna diversi concetti importanti:
- Comunicazione Seriale: L’Arduino comunica con il tuo computer tramite USART.
Serial.begin(9600)imposta il baud rate (bit al secondo). - Output GPIO:
pinMode()edigitalWrite()controllano i pin digitali. - Variabili di Stato:
ledStatetiene traccia dello stato corrente del LED, permettendo al comando di stato di funzionare. - Analisi dell’Input: Lettura di caratteri dalla Seriale e uso di
switchper gestire i comandi. - Gestione degli Errori: Il caso
defaultcattura input non validi e fornisce feedback.
Insidie Comuni e Suggerimenti per il Debug
- Il Monitor Seriale non mostra output? Assicurati che il baud rate corrisponda (9600). Inoltre, verifica di aver cliccato sul pulsante di connessione del Monitor Seriale.
- Il LED non risponde? Controlla che il LED sia cablato correttamente: anodo al pin 13, catodo a GND. In Velxio, i fili sono codificati a colori; verifica le connessioni.
- I comandi non funzionano? Il codice ignora i caratteri non stampabili (ASCII < 32). Se invii newline, vengono ignorati. Usa l’opzione “Nessun terminatore di riga” del Monitor Seriale o invia solo il carattere.
- Caratteri multipli? Il codice legge un carattere alla volta. Se invii “10”, elaborerà ‘1’ poi ‘0’ in iterazioni separate del loop.
Estensioni Suggerite
Una volta padroneggiato questo progetto, prova questi miglioramenti:
- Aggiungi un secondo LED sul pin 12 e controllalo con comandi come ‘2’ e ‘3’.
- Usa PWM per controllare la luminosità: invia un numero da 0 a 255 per impostare la luminosità del LED tramite
analogWrite(). - Aggiungi un pulsante come input: leggi un pin digitale e commuta il LED quando viene premuto.
- Implementa un parser di comandi che accetti stringhe come “ON” o “OFF” invece di singoli caratteri.
- 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!