leggi segnalemicrobit è dotato di un convertitore Analogico-Digitale capace di una risoluzione di 10 bit.

Un convertitore analogico digitale (ADC: Analogic to Digital Converter) traduce un valore di tensione Vin in un valore numerico num che come tale può essere elaborato da un computer (nota 1). L'argomento è stato trattato in questo articolo link2 dove viene illustrato il funzionamento di un ADC utilizzando Scratch. In questo articolo link2vengono chiariti alcuni termini usati quando si tratta della conversione ADC.

Si tratta ora di vedere come si possa utilizzare il convertitore di microbit.

Tra i comandi "avanzati" occorre trovare il gruppo "pin" tra i quali si recupera il comando che ci serve: "segnale analogico - leggi da pin --" (vedi figura su).

In questo caso è stato scelto di utilizzare come terminale per la conversione delle tensioni il pin P2 ma si possono scegliere anche i pin P0 e P1 oltre ad altri che utilizzano altri contatti del connettore di microbit.

Il convertitore suddivide una gamma predefinita di tensioni in un numero di intervalli che dipende dalla risoluzione.

Con 10 bit gli intervalli sono 2^10-1 = 1023 e questo significa che la gamma delle tensioni in ingresso viene suddivisa in 1023 intervalli per fornire il valore numerico num compreso fra 0 e 1023 (in tutto 1024 valori):

- 0 quando la tensone Vin è nulla,

- 1023 quando la tensione in ingresso Vin ha il valore di Vref.

La gamma di valori di tensione in ingresso Vin che il convertitore ADC di microbit è capace di utilizza va da 0 (GND) a Vref che di default è la tensione dell'alimentazione data dalle pile o 3,3V se l'alimentazione è effettuata tramite cavo USB (nota 2)

La relazione ideale fra tensione Vin in ingresso e valore numerico in uscita è di proporzinalità diretta:

\[Num = k*Vin\]

Con k costante la funzione di cui sopra è rappresentabile con una proporzione dalla quale si evince il ruolo giocato dalla Vref nel fornire il numero della conversione:

\[Vin : Vref = N : 1023\]

\[Vin  = \dfrac {N }{1023} * Vref\]

ADC idealeUn convertitore ideale avrà una caratteristica rappresentata dalla retta di proporzionalità:

- in ascissa la tensione Vin all'ingresso,

- in ordinata il numero dato dalla conversione.

Nel caso ideale ad infiniti valori di tensione corrispondono infiniti valori numerici (nota 4).

 

ADC 3 bitUn convertitore reale a 3 bit di risoluzione ha una caratteristica con 7 "gradini": un intervallo più o meno ampio di tensoni fornisce lo stesso valore numerico.

Per diminuire l'incertezza sul valore di tensione rappresentato dal numero si deve aumentare la risoluzione, cioè aumenetare il numero di gradini entro la stessa gamma di valori.

Le figure sono state ricavate dal progetto di Scratch "Convertitore Analogico Digitale (ADC)" link2 con cui è stato realizzato un calcolatore che simula il funzionamento di un ADC. E qui video2 c'è un video che illustra l'utilizzo di questo progetto.

 

 

Provare

Per prova si può collegare una pila da 1,5 V (nota 3) e premere il pulsante A per leggere il valore convertito che dovrebbe essere leggermente inferiore a 512 se microbit viene alimentato con il cavo USB in quanto Vrfe = 3,3V.

Nel video accanto si prova con un potenziometro inserito fra GND e 3V e con la tensione al cursore applicata al pin P2.

Un video completo è disonibile a questo link video2

Per saperne di più: link1

Note

nota 1: i nostri computer sono tutti digitali, elaborano numeri, non sono in grado di elaborare tensioni analogiche.

nota 2: questo aspetto comporta dei problemi nel caso si voglia usare microbit come voltmetro in quanto se cambia Vref cambia il numero restituito dal convertitore.

nota 3: non collegare mai ai pin di microbit apparecchi che forniscono tensioni eccedenti la tensione di 3V.

nota 4: tecnicamente parlando, se si vuole una risoluzione infinitesima occorre convertire la tensione con un numero infinito di intervalli con necessità di un tempo infinito per la conversione ed uno spazio infinito di memoria di conseguenza da qualche parte bisogna tagliare.