title | categories | subCategories | ||
---|---|---|---|---|
analogRead() |
|
|
Legge il valore dal pin analogico specificato.
La scheda Arduino contiene un convertitore analogico-digitale a 6 canali ( 8 canali su Arduino Mini e Nano, 16 sul Mega ), a 10 bit. Questo significa che mapperà le tensioni in ingresso tra 0 e 5 volt usando valori interi compresi tra 0 e 1023. Questo porta ad una risoluzione tra le letture di: 5 volt / 1024 unità oppure, 0.0049 volt ( 4.9 mV ) per unità. L’intervallo delle tensioni in ingresso e la risoluzione possono essere cambiate usando analogReference().
Ci vogliono circa 100 microsecondi ( 0.0001 s ) per leggere un ingresso analogico, quindi il massimo rateo di lettura è di circa 10,000 volte al secondo.
analogRead( pin )
pin
: il numero del pin analogico da cui leggere ( da 0 a 5 su molte schede, da 0 a 7 su Mini e Nano, da 0 a 15 sul Mega )
int( 0 to 1023 )
Il codice legge la tensione su analogPin e la visualizza.
int analogPin = A3; // manopola del potenziometro (terminale centrale) connessa ad A3
// terminali esterni connessi a massa e +5V
int val = 0; // variabile per conservare il valore letto
void setup()
{
Serial.begin(9600); // inizializza la linea seriale
}
void loop()
{
val = analogRead(analogPin); // leggi il pin di input
Serial.println(val); // visualizza il valore sul monitor seriale
}
Se il pin analogico non è connesso a niente, il valore restituito da analogRead() fluttuerà in base ad un numero di fattori ( es. il valore di altri input analogici, la vicinanza della tua mano alla scheda, ecc… ).
-
LINGUAGGIO analogReadResolution()
-
LINGUAGGIO Tutorial: Analog Input Pins