Indietro

Sfumare un LED con PWM su Arduino – Tutorial per Principianti

Introduzione

Benvenuto al tuo primo progetto con PWM (Pulse-Width Modulation)! In questo tutorial, costruiremo un semplice circuito che sfuma gradualmente un LED da spento a luminoso e viceversa. Questo è un classico progetto per principianti con Arduino che ti insegna come usare analogWrite() per controllare la luminosità, la velocità di un motore o qualsiasi dispositivo che risponda a una tensione media variabile.

Utilizzeremo Velxio, un simulatore di circuiti in-browser con supporto analogico accurato SPICE. Nessun hardware necessario – solo il tuo browser! Puoi seguire, modificare il codice e vedere i risultati istantaneamente.

Diagramma del circuito fade-led sul canvas del simulatore Velxio

Spiegazione del Circuito

Diamo un’occhiata ai componenti e al cablaggio per questo progetto.

Componenti

ComponenteQuantitàNote
Arduino Uno1Il cervello dell’operazione
LED (qualsiasi colore)1Utilizzeremo un LED blu
Resistore (220 Ω)1Resistore limitatore di corrente (non mostrato nello schema ma raccomandato)
Cavi jumper2Per le connessioni

Cablaggio

  1. Anodo del LED (gamba lunga) → Collega al pin 9 di Arduino (un pin PWM).
  2. Catodo del LED (gamba corta) → Collega a GND su Arduino.

Importante: Usa sempre un resistore limitatore di corrente (tipicamente da 220 Ω a 1 kΩ) in serie con il LED per evitare di bruciarlo. Nel simulatore Velxio, il modello del LED include una resistenza interna, ma nella vita reale devi aggiungerne uno.

Ecco il cablaggio in dettaglio:

Questo è tutto! Solo due connessioni. Il pin 9 di Arduino può emettere un segnale PWM, che useremo per variare la luminosità del LED.

Codice sorgente per fade-led nell'editor Monaco di Velxio

Spiegazione del Codice

Apri l’editor di codice in Velxio. Vedrai il seguente sketch Arduino:

// Fade LED with PWM
// Smoothly fade LED brightness

const int LED_PIN = 9; // PWM pin

int brightness = 0;
int fadeAmount = 5;

void setup() {
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  analogWrite(LED_PIN, brightness);

  brightness += fadeAmount;

  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }

  delay(30);
}

Come Funziona

Concetti Chiave

Errori Comuni e Consigli per il Debug

  1. Il LED non si accende?

    • Controlla che il LED sia collegato correttamente (anodo al pin 9, catodo a GND).
    • Assicurati che il codice sia caricato (clicca sul pulsante Run nella barra degli strumenti).
    • Verifica che LED_PIN corrisponda al pin effettivamente utilizzato.
  2. Il LED rimane alla massima luminosità?

    • Assicurati di usare un pin che supporta PWM (3, 5, 6, 9, 10, 11 su Uno). Il pin 13 non è PWM.
    • Controlla che venga chiamato analogWrite(), non digitalWrite().
  3. La sfumatura è troppo veloce o troppo lenta?

    • Regola il valore di delay(30). Più grande = sfumatura più lenta.
    • Cambia fadeAmount per controllare la dimensione del passo (es. 1 per molto fluido, 10 per più veloce).
  4. Il simulatore non risponde?

    • Usa il pulsante Reset nella barra degli strumenti del canvas.
    • Ricarica la pagina se necessario.

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

Estensioni Suggerite

Una volta padroneggiata la sfumatura di base, prova queste sfide:

  1. LED multipli: Aggiungi altri due LED sui pin 10 e 11. Fai in modo che si sfumino in sequenza o a velocità diverse.
  2. Controllo con pulsante: Aggiungi un pulsante per avviare/fermare la sfumatura.
  3. Controllo velocità con potenziometro: Usa un potenziometro per regolare la velocità della sfumatura (sostituisci delay(30) con una variabile letta da un ingresso analogico).
  4. LED RGB: Usa un LED RGB e sfuma attraverso diversi colori controllando tre pin PWM.
  5. Monitor seriale: Stampa il valore di luminosità sul Monitor Seriale per il debug.

Provalo Tu Stesso!

Pronto a vederlo in azione? Apri l’esempio live in Velxio:

👉 Avvia l’esempio Fade LED

Puoi modificare il codice, cambiare la velocità della sfumatura o persino aggiungere nuovi componenti. Il simulatore funziona interamente nel tuo browser – nessun download, nessuna configurazione.

Buona sfumatura!


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
Serial Hello World: Il Tuo Primo Progetto di Comunicazione con Arduino
Articolo successivo
LED controllato da pulsante: il tuo primo progetto Arduino con input