Entradas analógicas. Ejemplo con medición de temperatura

      Comentarios desactivados en Entradas analógicas. Ejemplo con medición de temperatura

Resumen en vídeo

Entradas analógicas

Hemos visto señales digitales, que son aquellas que solo tienen dos valores (encendido o apagado, en resumen). Un señal analógica es aquella cuyo valor puede estar entre un rango desde un mínimo hasta un máximo. Nos permiten leer temperatura, luminosidad, humedad, variaciones de tensión en potenciómetros, etc.

Arduino UNO dispone de seis entradas analógicas nombradas de la A0 a la A5. Su rango de funcionamiento está entre 0V y 5V.

Este rango de medida de 5 voltios se traduce internamente en un intervalo de 0 a 1024, debido a que las entradas analógicas en Arduino UNO tienen una resolución de 10 bit (210 = 1024). Por tanto, si recibimos 0 V leeremos en Arduino un 0 y si recibimos 5V se estaremos leyendo un 1024. Todo valor intermedio se verá reflejado de forma proporcional.

El bloque de lectura de entrada analógica, se encuentra en el apartado Entrada/Salida:

Sin embargo, mediante bloques de funcionalidades, podemos traducir los valores analógicos medidos, en magnitudes físicas. Como ejemplo de esto, vamos a realizar en los siguientes apartados mediciones de temperatura con el sensor LM35.

Sensor de temperatura LM35

Para medir la temperatura con Arduino hay multitud de sensores térmicos compatibles. El LM35 es un sensor de temperatura con precisión de medio grado. Lo que hace este dispositivo es dar una salida de voltaje proporcional a la temperatura.

Se puede encontrar el componente suelto o en placa, como se ve en la imagen inferior. Veremos que su conexión es directa, por lo que su conexión es muy simple en cualquier caso.

Los modelos más económicos, fáciles de encontrar y comunes, son el Lm35D o Lm35DZ, que miden un rango de temperaturas entre 0 y 100ºC, con una precisión de 0’5ºC. Existen otras versiones cuyos rangos de temperatura son muy superiores:

  • LM35A: Medición de temperatura entre -50 a +150ºC.
  • LM35C-LM35CA: Lectura de temperatura entre  -40 a +110ºC

ArduinoBlocks dispone de un bloque que traduce esas variaciones de tensión en grados centígrados. El bloque se encuentra en el apartado Sensores, y es el siguiente:

Programa: Termómetro en el ordenador con el sensor LM35

Si tomamos el sensor por el lado plano, la patilla de la izquierda se conecta a Vcc, la de la derecha a 0V y la central es la salida de señal. De esta forma, su conexión a una entrada analógica de Arduino (en este caso el A0), es la siguiente:

Con un programa tan simple como el siguiente, leemos la temperatura del sensor conectado a la entrada analógica A0 y la enviamos a la pantalla del ordenador cada segundo.

Si no usamos el bloque del LM35, podemos ver en el ordenador el dato numérico que se está traduciendo directamente en lectura de voltaje, sin calcular los grados centígrados a los que equivale.

Preguntas, sugerencias, propuestas…

Realiza cualquier cuestión, sugerencia o propuesta sobre el artículo o vídeo, en el foro del curso. Muchas gracias.