FUNCION: analogRead()

Esta función se utiliza para leer el valor proporcionado por un dispositivo analógico (sensor de temperatura, de humedad, etc.). El elemento analógico debe estar conectado a una de las 6 patillas de entrada analógica disponibles en la placa Arduino UNO.

El valor suministrado por el dispositivo analógico debe estar comprendido entre 0 y 5 voltios. Por ejemplo, si conectamos un potenciómetro a la entrada analógica de la siguiente forma:

  • A0 arduino con patilla común potenciómetro

  • GND arduino con una patilla del extremo del potenciómetro.

  • 5v arduino con patilla del otro extremo del potenciómetro

Podemos ir viendo la tensión obtenida al mover el cursor

Otro ejemplo. Si conectamos un sensor de temperatura a un pin de entrada analógica de la placa arduino, el valor mínimo que debe proporcionar este sensor debe ser de 0 voltios (para 0 ºC por ejemplo) y el máximo de 5 voltios (para 100 ºC). Debido al convertidor ADC que posee el microcontrolador con una resolución de 10 bits, tenemos un muestreo de 1024 valores, desde 0 a 1023.

Si dividimos 5v entre 1024 obtenemos 0.00488 mv. De forma que:

0 ºC se corresponde con 0 v

0.0976 ºC con 0,00488 mv

0,1952 ºC con 0.00976 mv

y así sucesivamente  hasta que 100 ºC se corresponde con 5 v.  Hay que tener presente que al utilizar sensores hay que utilizar un divisor de tensión:

Vsalida = Ventrada x (Rfija/Rfija + Rsensor). La entrada se toma entre el punto común a la resistencia fija y el sensor y GND. R fija de 10 K

La resolución puede cambiarse con la función analogReference().

Además, hay que tener presente que la conversión consume un tiempo de 100 microsegundos (0,0001 segundos), lo que hace que la máxima tasa de conversión sea de 10.000 veces por segundo.

Para obtener el valor en voltios de la medida realizada tenemos que realizar la siguiente operación:

Valor en voltios = lectura analógica del pin x (5 / 1024)