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 accesoUna 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.
Sfida
FacileIl 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
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Uscite
1Luminosità
Riduci la luminosità di un LED con PWMPin PWM contrassegnati con ~Fai aumentare la luminosità di un LEDFai aumentare e diminuire la luminositàDimmer a manopolaEsercitati da solo: Playground Arduino