CONTENUTO ►
La funzione analogWrite() di Arduino è un altro dei comandi più utilizzati dai principianti nella programmazione di un microcontrollore. L’uso pratico principale del comando è quello di modificare il segnale PWM sulle uscite analogiche di Arduino, che viene utilizzato principalmente per modificare in modo fluido la luminosità dei LED. Vediamo la sintassi della funzione analogWrite nel linguaggio IDE di Arduino con uno sketch di esempio.
Per questa attività sono necessari:
- Arduino Uno / Arduino Nano / Arduino Mega
- LED e resistenza
- breadboard
- cavi di collegamento
Come si usa analogWrite() di Arduino IDE?
La funzione analogWrite() viene utilizzata per inviare una tensione analogica al pin Arduino specificato (l’uscita deve supportare la modulazione PWM). Il comando viene utilizzato per controllare la luminosità dei LED, la velocità del motore, ecc. L’argomento analogWrite() rappresenta un numero intero da 0 a 255, che modella una tensione da 0 a 5 V sull’uscita. Più alto è il valore dell’argomento, più alta sarà la tensione in uscita dal microcontrollore.
Sintassi della funzione analogWrite Arduino IDE
analogWrite(pin, value);
- pin – numero dell’uscita PWM che si desidera controllare
- value – valore PWM da 0 (sempre spento) a 255 (sempre acceso)
Collegare il LED al pin 9 del microcontrollore Arduino Uno e caricare il seguente sketch. Il programma cambierà la frequenza PWM del segnale da 0 (LED completamente spento) a 255 (massima luminosità). Con un valore di 127, il LED brilla a metà potenza. È importante capire che l’uscita del microcontrollore non cambia la tensione in volt, ma la frequenza dell’impulso PWM. Questo valore è noto come tensione pseudo-analogica.
Programma Arduino con la funzione analogWrite()
#define LED 9 void setup() { pinMode(LED, OUTPUT); } void loop() { analogWrite(LED, 0); // percentuale di riempimento 0% delay(1000); analogWrite(LED, 64); // percentuale di riempimento 25% delay(1000); analogWrite(LED, 127); // percentuale di riempimento 50% delay(1000); analogWrite(LED, 191); // percentuale di riempimento 75% delay(1000); analogWrite(LED, 255); // percentuale di riempimento 100% delay(1000); }
Spiegazione del codice per utilizzare funzione analogWrite significato
- pin 9 viene impostato come uscita con la funzione pinMode Arduino IDE
- nel primo ciclo for() la luminosità del LED viene aumentata da 0 a 255, mentre nel secondo ciclo for() viene diminuita da 255 a 0.
Nota: Gli ingressi analogici di Arduino (analog In – A0, A1, ecc.) non hanno nulla a che fare con la generazione di PWM. Possono essere utilizzati come uscite digitali solo con il comando digitalWrite e il loro scopo principale è quello di collegare sensori analogici al microcontrollore. Il comando analogWrite() funziona solo sui pin con PWM (contrassegnati dalla tilde ≈).
Conclusioni. In questo articolo abbiamo considerato il significato di analogWrite nel linguaggio Arduino e come può essere utilizzato in uno sketch. Potete leggere ulteriori informazioni su questo comando qui – Accensione fluida dei LED. Ricordiamo che quando si collegano LED, moduli e sensori ai pin di Arduino, non bisogna dimenticare di configurare il pin sulla modalità di funzionamento desiderata: OUTPUT o INPUT.
Lascia un commento