Descrizione
Scrive un valore analogico (onda PWM) ad un pin.
Può essere usato per illuminare un LED a luminosità variabile o pilotare un motore a diverse velocità.
Dopo una chiamata a analogWrite()
, il pin genererà un’onda quadra costante con il duty cycle specificato fino alla prossima chiamata a analogWrite()
( oppure digitalRead()
o digitalWrite()
) sullo stesso pin.
La frequenza del segnale PWM su molti pin è approssimativamente 490 Hz.
Sulla Uno e schede simili, i pin 5 e 6 hanno una frequenza di circa 980 Hz.
Sulla maggior parte delle schede Arduino ( quelle con ATmega168 o ATmega328P ), funziona sui pin 3, 5, 6, 9, 10, e 11.
Sull’Arduino Mega, funziona sui pin dal 2 al 13 e dal 44 al 46.
Le schede Arduino più vecchie con un ATmega8 supportano analogWrite()
solo sui pin 9, 10, e 11.
Arduino DUE supporta analogWrite()
sui pin da 2 a 13, oltre che sui pin DAC0 e DAC1.
Diversamente dai pin PWM, DAC0 e DAC1 sono convertitori digitale-analogico, e si comportano come veri output analogici.
Non hai bisogno di chiamare pinMode()
per impostare il pin come output prima di chiamare analogWrite()
.
La funzione analogWrite
non ha nulla a che vedere con i pin analogici o la funzione analogRead
.
Sintassi
analogWrite(pin, valore)
Parametri
pin
: Il pin sul quale scrivere. Tipi di dato permessi: int.
valore
: il duty cycle: tra 0 ( sempre spento ) e 255 ( sempre acceso ). Tipi di dato permessi: int
Restituisce
Nulla