ArduinoUNO ha 6 ingressi analogici (A0 A1-A2-A3-A4–A5) e 6 uscite PWM (PD3-PD5-PD6-PD9-PD10-PD11), le uscite PWM possono essere utilizzate in modo da fornire una uscita variabile tra lo zero e la tensione di alimentazione (Analogico), oppure in modo che da variare il rapporto tra il segnale allo stato logico zero e lo stato logico 1, (Digitale).
Questo programma utilizza i potenziometri per simulare i sensori con uscita analogica (NTC,PTC,LDR).
I potenziometri sono collegati agli ingressi analogici di ArduinoUNO, che controllano l’uscita PWM in modalità analogica.
La tensione inviata all’ingresso analogico proviene dal pin centrale del potenziometro che ha le stremità collegate tra la massa e la tensione di riferimento; lo slider si comporta come un partitore resistivo che parzializza la tensione di riferimento.
L’uscita analogica PWM, è rappresentata da una barra nera verticale con un cursore rosso, che si sposta in funzione della tensione collegata all’ingresso.
gli ingressi analogici pilotano l’uscita del segnale PWM in modalità analogica
Tre ingressi e tre uscite
Per gestire i tre canali Rosso, Green (verde) e Blue, è necessario definire le tre variabili che conterranno il Byte corrispondente alla conversione analogico/digitale della tensione presente agli ingressi analogici A0, A1 e A2.
Per ciascun ingresso analogico, definisco una Variabile di tipo Byte che associo a ciascun ingresso collegato agli slider.
In Project Explorer inserisco le tre Variabili “ ADC_in” di tipo Byte.
Dal menu Inputs, seleziono e inserisco nella DashBoard i tre potenziometri (slider).
Dal menu Outputs, seleziono e inserisco nella DashBoard, i controlli PWM in modalità analogica in modo da visualizzare l’uscita del Pin come una barra verticale nera con una tacca rossa che si sposta che su è giù in funzione dello slider di controllo.
Definizione delle Variabili ADC_inA0, ADC_inA1 e ADC_inA2
in Project Explorer aggiungo le variabili per controllare l’ingresso analogico per il controllo RGB, tramite slider collegati agli ingressi A0,A1 e A2
collego gli slider ai Canali An1, An2 e An3
collego gli indicatori ai canali 1,2 e 3
rappresentazione analogica della uscita PWM
abilitazione uscite PWM
per utilizzare l’uscita PWM è necessario abilitare l’ uscita con PWM enable.
PWM1
PWM2
PWM3
RED
GREEN
BLUE
dopo le istruzioni che abilitano il PWM, inserisco il “Ciclo” del programma che conterrà le istruzioni di acquisizione A/D e il controllo del segnale PWM in uscita.
acquisizione segnale analogico
Ogni slider collegato all’ingresso analogico controlla un colore.
RED
RED
GREEN
BLUE
GREEN
BLUE
GetByte contiene la conversione A/D dell’ingresso A0
GetByte contiene la conversione A/D dell’ingresso A1
GetByte contiene la conversione A/D dell’ingresso A2
ADC_inA2
ADC_inA1
ADC_inA0
dipendenza del segnale di uscita PWM dall’ ingresso analogico
Il segnale acquisito con GetByte controlla l’uscita PWM con l’istruzione setDutyCycle.
ADC_inA0
ADC_inA1
ADC_inA2
PWM3
PWM2
PWM1
RED
GREEN
BLUE
Il pilotaggio di un carico collegato all’uscita PWM, può essere fatto con l’utilizzo di un transistor di potenza o di un Mosfet.
in commercio esistono gli shield per ArduinoUNO, già predisposti per questo tipo di applicazione.
C Code
Riccardo Monti