Arduino + Sensor de temperatura
LM35
Última actualización 10 de mayo de 2021
CONTENIDO
1. Lectura del sensor LM35 con Arduino
Es importante conocer los conceptos básicos del LM35 para su correcta
manipulación y verificar la hoja de datos, ya que las conexiones pueden
variar, por ejemplo de un LM35 y el LM35DT. El contenido que se tiene
disponible es especialmente enfocado al control de temperatura con un
LM35 mediante la tarjeta Arduino.
LECTURA DEL SENSOR LM35 CON ARDUINO
Se plantea realizar una práctica simple para entender el comportamiento
del sensor lm35, así como la explicación del código en Arduino.
MATERIAL
1x Arduino.
1x LM35.
1x Protoboard.
1x LED.
1x Resistor(Para el LED).
Esquema de montaje
El montaje del circuito con nuestra tarjeta Arduino es el siguiente:
Circuito esquemático
LM35RLEDVsGNDVout
Código
Primero definimos los pines que usaremos y las variables para almacenar
los valores, se definen dos variables, una donde almacenaremos los
valores del ADC y otra para almacenar la temperatura.
Como bien se mencionó, se recomienda leer la hoja de datos del sensor,
ya que aquí viene una información muy importante la cual nos dice que
nos dará 10mV por cada grado centígrado, esto es fundamental para el
funcionamiento, veamos un ejemplo:
Pensemos que tenemos la temperatura de 20.5 grados centígrados,
entonces esto nos dice que hay 205mV como resultado de 10mV * 20.5 =
205mV , que corresponde a 0.205V y ahora aplicaremos la fórmula para
convertir de analógico - digital:
Vrbits =
V(2n - 1)
Vref
=
0.205 (1024 - 1)
5.0
= 41.943
Así obtenemos el valor analógico que es la conversión de 10 bits
equivalente as 41.943, ahora aplicando la siguiente fórmula pero
multiplicando por 100 para convertir el resultado a grados, entonces nos
queda:
T=
(41.943)(5.0)(100)
(1024 - 1)
= 20.5°
Recordemos que 5.0 es el valor del voltaje de referencia o sea 5 voltios,
41.943 el valor analógico que entregará el ADC.
Así es como obtenemos la temperatura usando el sensor LM35, solo
aplicamos estos cálculos en la programación, usamos analogRead para
leer el valor que envía el sensor al Arduino y lo almacenamos en la
variable ValSen, después aplicando la fórmula anterior obtendremos la
temperatura y esta la almacenamos en la variable Temperatura, una vez
hecho eso creamos una condicional que si la temperatura llega a ser más
de 35 grados se prenderá el led o lo que ustedes quieran accionar, en
caso contrario el led permanece apagado, después imprimimos la
temperatura por medio del Serial y la visualizamos en nuestro monitor
serial.
#define LM35 A0
#define LED 3
float Temperatura;
float ValSen;
void setup()
{
o [Link](9600);
o pinMode(LM35,INPUT);
o pinMode(LED,OUTPUT);
}
void loop() //Definimos nuestra secuencia.
{
o ValSen = analogRead(LM35);
o Temperatura = (ValSen * 5.0 * 100.0)/1023.0;
o if(Temperatura > 35)
{
digitalWrite(LED,HIGH);
}
o else
{
digitalWrite(LED,LOW);
}
o [Link](Temperatura);
o delay(50)
}