Menu
CoddyTech

Riduci la luminosità di un LED con PWM

Fa parte della sezione Uscite del percorso Arduino di Coddy. Lezione 1 di 24.

digitalWrite() conosce due livelli: acceso o spento. Per far brillare debolmente un LED, la scheda accende e spegne il pin centinaia di volte al secondo. Il tuo occhio non riesce a seguire lo sfarfallio e vede la media: un pin acceso per un quarto del tempo sembra luminoso per un quarto.

Questo trucco si chiama PWM, modulazione di larghezza d’impulso. La percentuale di tempo in cui il pin è acceso è il suo ciclo di lavoro.

analogWrite(pin, value) lo imposta con un numero da 0 a 255:

analogWrite(9, 0);    // sempre spento
analogWrite(9, 64);   // acceso per un quarto del tempo
analogWrite(9, 127);  // acceso per circa metà del tempo
analogWrite(9, 255);  // sempre acceso

Una volta scritto un valore, la scheda continua a generare impulsi sul pin autonomamente, anche durante delay(), finché non ne scrivi uno nuovo. analogWrite() imposta automaticamente il pin come uscita; pinMode(9, OUTPUT) in setup() indica comunque a cosa serve il pin.

challenge icon

Sfida

Facile

Il LED rosso è collegato al pin 9. Fai in modo che si accenda a un quarto della sua luminosità massima:

  • un quarto di 255 è circa 64
  • scrivilo con analogWrite()

Premi Esegui per guardarlo, poi Verifica.

Provalo tu

const int ledPin = 9;

void setup() {
  pinMode(ledPin, OUTPUT);
  // imposta qui il LED a un quarto della luminosità
}

void loop() {
  // niente da ripetere: il pin continua a generare impulsi da solo
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Uscite

Esercitati da solo: Playground Arduino