Arduino analogRead ( )
Il Ottobre 31, 2021 da adminLa funzione analogRead( ) legge il valore dal pin analogico specificato presente sulla particolare scheda Arduino.
L’ADC (Analog to Digital Converter) sulla scheda Arduino è un convertitore multicanale. Esso mappa la tensione d’ingresso e la tensione operativa tra i valori 0 e 1023. La tensione di funzionamento può essere 5V o 3.3V.
I valori da 0 a 1023 sono i valori interi. Può anche essere scritto come da 0 a (2^10) -1.
La durata del tempo per leggere un segnale di ingresso analogico sulle schede (UNO, Mega, Mini e Nano) è di circa 100 microsecondi o 0,0001 secondi.
Quindi, la velocità massima di lettura dell’ingresso analogico è di circa 10000 volte al secondo.
Discutiamo la tensione operativa e la risoluzione di alcune schede Arduino.
- La tensione operativa di Arduino UNO, Mini, Mega, Nano, Leonardo e Micro è di 5V, e la risoluzione è di 10 bit.
- La tensione operativa delle schede della famiglia MKR, Arduino Due e Zero è di 3 V e la risoluzione è di 12 bit.
Modificare la tensione di ingresso e la risoluzione
- Su una particolare scheda, possiamo cambiare la tensione di ingresso usando la funzione analogReference( ).
analogReference( )
La tensione di riferimento usata per l’ingresso analogico è configurata da analogReference( ).
La sintassi è:
Nota: La tensione di riferimento esterna sul pin AREF non deve essere superiore a 5V o inferiore a 0V. Dobbiamo impostare il riferimento analogico come esterno mentre lavoriamo sul pin AREF.
Altrimenti, può danneggiare il microcontrollore presente sulla scheda Arduino.
- Possiamo cambiare la risoluzione solo per la famiglia MKR, Zero, e Due board usando la funzione analogReadResolution( ).
analogReadResolution( )
La MKR Family, Zero, e Due hanno la risoluzione ADC di 12 bit.
L’analogReadResolution( ) restituirà i valori interi tra 0 e 4095 dalla funzione analogRead( ).
La sintassi è:
dove,
bits: Significa i bit di risoluzione restituiti dalla funzione analogRead( ). Possiamo impostare il valore dei bit tra 1 e 32.
Nota: Se vengono specificati i bit di risoluzione superiori alle capacità della scheda, Arduino riempirà i bit extra con degli zeri.
Per esempio, analogReadResolution (14)
La funzione sopra darà un numero approssimato di 14 bit con i primi due 12 bit (che includono la lettura ADC) e gli ultimi due bit riempiti.
Sintassi di analogRead ( )
La sintassi è:
dove,
pin: include il nome del particolare pin analogico da cui leggere.
Il tipo di dati è int.
Un pin analogico non collegato può anche restituire qualche valore. Tale valore dipende dalla posizione della nostra mano sulla scheda e da altri ingressi analogici vicini.
Esempio di codice
Comprendiamo il concetto di analogRead con un esempio.
Considerate il codice seguente:
Il codice sopra legge la tensione dal pin analogico specificato (AnaPin) e la visualizza.
Lascia un commento