Sensor de temperatura con Arduino Uno: cableado, configuración y código LM35

Para mantener bajo control las habitaciones, los cultivos y las condiciones climáticas, muchos proyectos requieren monitorear la temperatura ambiental. Arduino Uno puede interactuar con LM35, que es un buen sensor de temperatura, ya que puede medir de -55 a 150 ˚C con una resolución de 0,1 °C

En este tutorial, le mostraré cómo conectar y configurar Arduino Uno con un sensor de temperatura LM35, y también examinaré su pinout, funcionamiento, convención y protocolo de funcionamiento.

Las empresas y estructuras comerciales, donde las aplicaciones requieren una estimación de temperatura de alta precisión, utilizan regularmente sensores LM35 para:

  • Placas de superficie: las placas de superficie utilizan regularmente sensores de temperatura de terminal de anillo, ya que puede montarlos en una superficie nivelada y medir la temperatura con éxito
  • Aparatos domésticos: hornos, lavadoras de ropa, lavavajillas y máquinas para preparar té, todos contienen sensores de temperatura.

LM35 Descripción

Básicamente, LM35 es un componente electrónico de coeficiente de temperatura positivo. Lo más importante de este componente es que es fácil de instalar con el sistema debido a que solo tiene un pin agregado con el microcontrolador. LM35 funciona sobre la base del cambio de voltaje con respecto a la temperatura. Cuando la temperatura ha cambiado, el voltaje en el LM35 también cambia.

Características de LM35/LM36

LM35 funciona sobre la base del voltaje analógico: cuando la temperatura ha cambiado el voltaje, el pin analógico también cambia. Es una especie de sensor de temperatura de uso regular, que se puede utilizar para medir la temperatura con un resultado eléctrico cercano a la temperatura en (°C).

  • Es un sensor de temperatura comúnmente utilizado, que da resultados en voltajes en lugar de grados Celsius.
  • El voltaje resultante de LM35 corresponde a la temperatura Celsius. El factor de escala es 0,01 V/°C
  • La marca registrada más importante es que extrae solo 60 microamperios de su reserva y proporciona un límite bajo de autocalentamiento.

El sensor de temperatura tiene una resolución de 0,01 voltios después de cada cambio de grado centígrado, por lo que su alta precisión hace de este sensor la mejor solución para proyectos de medidas de alta precisión. Además, puede integrarlo fácilmente en cualquier hardware externo.

Lo que necesitamos

Como de costumbre, sugiero agregar desde ahora a su carrito de compras de comercio electrónico favorito todo el hardware necesario, para que al final pueda evaluar los costos generales y decidir si continúa con el proyecto o los elimina del carrito de compras. Entonces, el hardware será solo:

Consulta precios de hardware en los siguientes enlaces:

Procedimiento paso a paso

Diagrama de cableado

Hay tres pines de LM35, que son VCC, pin analógico y tierra. En el diagrama de conexión, puede ver que VCC está conectado con más 5 voltios, el segundo pin está conectado al puerto analógico y el GND está conectado con tierra del Arduino UNO. El PIN analógico del sensor de temperatura va a uno de los PIN que van desde A0 a A6. Como estos son los PIN analógicos de Arduino, esto le permite medir el voltaje de 0 a 5 voltios.

Conecte el sensor LM35 a Arduino de acuerdo con la siguiente imagen:

Diagrama de conexión de LM35 con Arduino Uno

A continuación encontrará la tabla de conexiones:

Número PIN Nombre PIN Objetivo
1. CCV PIN de voltaje >> Conectar a +5V
2. Vout Salida analógica >> Conectar con un puerto analógico
3. Tierra PIN de tierra >> Conectar a 0V o GND

Obtener mi código de temperatura LM35

Conecte su PC a Arduino y abra Arduino IDE. Para los primeros pasos, puede consultar el tutorial Conexión de PC con Windows con Arduino. Descargue mi código de temperatura LM35 utilizando el siguiente enlace:

LM35temperatura

Extraiga el contenido de la carpeta en su PC y abra este archivo con su IDE de Arduino.

Codificación Explicación

Definimos el pin analógico como una variable global y, en la función de configuración, establecemos la velocidad de serie a una tasa de baudios de 9600. Esto establece la velocidad de transmisión con nuestro monitor de serie para que podamos mostrar las medidas realizadas:

float temp; // Temperature value storing variable int tempPin = A0; // Temperature Pin  void setup() // Setup  {   Serial.begin(9600); // Serial Monitor Initialized  }

El PIN analógico del sensor de temperatura se lee mediante el comando analoRread: este da el voltaje en mV, que tenemos que convertir en forma de temperatura. Entonces, después de la traducción, obtenemos el valor de la temperatura:

void loop() // loop started  {   temp = analogRead(tempPin); // Reading Analog Pin   temp = ((double)temp / 1024) * 5; // Converting voltage to Temperature    temp = temp - 0.5;   temp = temp * 100;

En la siguiente sección, los valores de temperatura se imprimen en un monitor en serie cada 1 segundo (donde un retraso de 1000 significa 1 segundo):

  Serial.print("TEMPERATURE ="); // Print Temperature    Serial.print(temp);   Serial.print(" *C");   Serial.println();   delay(1000); }

Resultados y discusión

En la siguiente imagen, puede ver una sesión registrada donde el monitor serial muestra los resultados del sensor de temperatura con el código en ejecución. Podemos ver en el monitor en serie que la temperatura se muestra en grados Celsius, pero también podemos convertir este voltaje en cualquier otra escala de temperatura:

Resultados