analog 1

Arduino ha sei ingressi in grado di convertire un segnale analogico tra 0 e 5 Volt (3,3 volt) in un segnale digitale visualizzabile su di un display LCD, OLED, Led; i pin contrassegnati con la lettera A , da A0 a A5, sono ingressi utilizzabili per la conversione Analogica/Digitale.

Flowcode utilizza la funzione “Input” per gestire questi segnali che hanno infiniti valori compresi tra lo zero e il valore massimo ammissibile sui piedini di Arduino.

Contrariamente alla facilità di utilizzo dei segnali digitali, che hanno solo due valori, zero o uno, la gestione dei segnali analogici è affidata ai convertitori analogici/digitali che campionano il segnali analogici in tanti gradini (step), in funzione della risoluzione di campionamento (10 bit per Arduino Uno); il segnale  è convertito in 1023 livelli di tensione analogica.

Con Flowcode, questa conversione è affidata all’utilizzo di un “Macro Component” che immagazzina in una variabile il risultato della conversione.

Procedura

Dopo aver inserito nel diagramma di flusso la funzione “Input”, si associa una variabile, se di tipo Byte (8 bit), avrà il segnale analogico suddiviso tra 0 e 255.

La variabile,  ADC_in, sarà associata al “Macro Component”, collegato all’Input analogico (potenziometro, trimmer, sensore con uscita analogica,) inserito  nella 2D DashBoard; se si utilizza un potenziometro, collegato tra massa e Vref, il pin centrale sarà collegato all’input Analogico ( i sei ingressi della porta A)

Con un doppio click sul “Macro Component”, apparirà il pannello “Properties Macro”, che proporrà una selezione di comandi; nell’ esempio, il comando “GetByte”.

Il comando “Getbyte”, legge la tensione presente sul pin centrale del potenziometro e lo converte in Byte, tramite l’ADC interno.

GetByte richiede  “Return Value”, che è il valore immagazzinato nella variabile ADC_in.

base LCD IN Analogico 1 getbyte

Return Value (BYTE)

ADCin

ADCin

Flowcode permette di visualizzare il risultato di questa conversione con il programma ”Analogue Input Windows”, che permette di visualizzare il risultato in Byte.

Con la la proporzione :

Risoluzione ADC : Tensione di Sistema = Lettura ADC : Tensione misurata

     esempio:     tensione di sistema = 5 Volt,            lettura ADC = 368

    il risultato sarà:                     368*5/1023  =  1,798 Volts

base LCD IN Analogico 1

Dopo Begin, inserisco il Macro Component” per inizializzare il Display LCD collegato al bus I2C.

 imposto le operazioni di visualizzazione sul Display.

Cliccando sul potenziometro inserito nel 3D System, nel “Properties Panel”, è possibile stabilire a quale pin della porta C, collegare il segnale analogico.

GetByte

C code

Imposto “GetByte

visualizzo  ADC_2, sul Display

Riccardo Monti