This page is also available in 3 other languages

analogRead()

[Analog I/O]

Descrizione

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.

Sintassi

analogRead( pin )

Parametri

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 )

Restituisce

int( 0 to 1023 )

Codice di Esempio

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
}

Note e Avvertimenti

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…​ ).

Vedi anche