Llig el valor del pin analògic especificat. Les plaques Arduino contenen un convertidor analògic a digital multicanal de 10 bits. Això significa que mapeará els voltatges d’entrada entre 0 i el voltatge d’operació (5V o 3.3V) en valors sencers entre 0 i 1023. En un Arduino UNO, per exemple, això produeix una resolució entre lectures de: 5 volts / 1024 unitats o , 0,0049 volts (4,9 mV) per unitat. Consulte la taula a continuació per a conéixer els pins utilitzables, el voltatge de funcionament i la resolució màxima per a algunes plaques Arduino.
El rang d’entrada es pot canviar usant analogReference()
, mentre que la resolució es pot canviar (només per a targetes Zero, Due i MKR) usant analogReadResolution()
.
En plaques basades en ATmega (UNO, Nano, Mini, Mega), es tarda uns 100 microsegons (0,0001 s) a llegir una entrada analògica, per la qual cosa la velocitat de lectura màxima és d’unes 10.000 vegades per segon.
Placa | Voltage de funcionament | Pins utilitzables | Max resolució — | — | — | — Uno | 5 Volts | A0 to A5 | 10 bits Mini, Nano | 5 Volts | A0 to A7 | 10 bits Mega, Mega2560, MegaADK | 5 Volts | A0 to A14 | 10 bits Micro | 5 Volts | A0 to A11* | 10 bits Leonardo | 5 Volts | A0 to A11* | 10 bits Zero | 3.3 Volts | A0 to A5 | 12 bits** Due | 3.3 Volts | A0 to A11 | 12 bits** MKR Family boards | 3.3 Volts | A0 to A6 | 12 bits**
analogRead (pin)
pin
: el nom del pin d’entrada analògica per a llegir (A0 a A5 en la majoria de les plaques, A0 a A6 en les plaques MKR, A0 a A7 en Mini i Nano, A0 a A15 en Mega).
La lectura analògica en el pin. Encara que està limitat a la resolució del convertidor analògic a digital (0-1023 per a 10 bits o 0-4095 per a 12 bits). Tipus de dada: int.
El codi llig el voltatge en analogPin i el mostra.
int analogPin = A3; // contacte movil del potenciòmetre (terminal central) connectat
//al pin analògic 3, cables exteriors a terra i +5 V
int val = 0; // variable per a guardar el valor llegit
void setup()
{
Serial.begin(9600); // configura port serie
}
void loop()
{
val = analogRead(analogPin); // llig el pin d’entrada
Serial.println(val); // mostra el valor
}
Si el pin d’entrada analògica no està connectat a res, el valor retornat per analogRead() fluctuarà en funció d’una sèrie de factors (per exemple, els valors de les altres entrades analògiques, quines tan a prop està la seua mà del tauler, etc.).
LLENGUATGE AnalogReadResolution() (en anglés)
EXEMPLE Descripció dels pins d’entrada analògica (en anglés)
LLENGUATGE Funcions