analogRead


int analogRead(pin)

 

Descripción

 

Lee o captura el valor de entrada del especificado pin analógico, la tarjeta Arduino realiza una conversión a digital de 10 bits. Esto quiere decir que mapear los valores de voltaje de entrada, entre 0 y 5 voltios, a valores enteros comprendidos entre 0 y 1024.

 

Explicación de la Fórmula conversional a digital de 10 bits

 

Un conversor ADC de n-bit tiene un valor mínimo de 2^n - 1 y una resolución de Vref/2^n.

 

Parámetros

 

Es necesario especificar el nº de pin del que se quiere leer o capturar su valor de entrada. Tiene que ser uno de los pins analógicos de la tarjeta, por lo tanto debe ser un nº comprendido entre 0 y 5. También podrá ser una variable, representando un valor en dicho rango.

 

Nota

 

Los pines analógicos, al contrario que los pines digitales, no necesitan ser declarados como modo INPUT (entrada) o OUTPUT (salida).

 

Esta función devuelve

 

Un valor entero comprendido en el rango de 0 a 1024.

 

Ejemplo

 

int ledPin = 13; // LED conectado a pin digital 13

 

int analogPin = 3; // potenciómetro conectado a pin analógico 3

 

int val = 0; // variable para almacenar el valor capturado

 

int threshold = 512; // valor de disparo o umbral (1024/2)

 

void setup() {

pinMode(ledPin, OUTPUT);   // asigna modo salida el pin digital 13 

}

 

void loop() {

val = analogRead(analogPin);   // captura el pin de entrada
if (val >= threshold) {
digitalWrite(ledPin, HIGH);   // enciende el LED
} else {
digitalWrite(ledPin, LOW);   // apaga el LED
}

}

 

Asigna el valor HIGH(1) o LOW(0) al pin 13, dependiendo de que si el valor de entrada al pin analógico es mayor que un cierto valor de disparo o umbral.

 

Ver también