Midiendo temperatura con Arduino
Objetivos
-Medir la temperatura.
-Convertirla a Fahrenheit y Celsius
-Hacer una alarma por temperatura.
Materiales necesarios.
![]() |
-Arduino UNO |
![]() |
-Sensor LM35DZ |
![]() |
-Protoboard 400 contactos |
![]() |
-Cables protoboard |
Conociendo el sensor de temperatura LM35DZ
Conexión del sensor.
La conexión del sensor es muy sencilla:
Midiendo valores.
Cargamos el siguiente código en nuestro Arduino.
int sensorPin = A0;//Declaramos el Pin analógico que usaremos. int sensorValue=0;//Variable para guardar la lectura del Pin analógico. void setup() { Serial.begin(9600);//Iniciamos el puero serie } void loop() { sensorValue = analogRead(sensorPin);//Leemos el Pin analógico Serial.print("LM35 ");//Imprimimos en el monitor serial "LM35 " Serial.println(sensorValue);//Imprimimos la lectura del Pin delay(2000);//Esperamos 2 segundos para hacer la próxima lectura. }
Ahora vamos a comprobar que valores aparecen el monitor serial cuando hacemos funcionar el programa.

Midiendo grados Celsius y Fahrenheit.
voltios=(5/1024)*Lectura.
Como cada voltio equivale a un grado (1V/10mV=100), si multiplicamos el valor en voltios por 100 obtendremos la temperatura en grados Celsius:
ºC=((5/1024)*Lectura)*100
temC=(((5 * sensorValue)*100)/1024);//Calculamos la temperatura en ºC.
Por último, una vez que ya tenemos la temperatura en grados Celsius, para pasarla a grados Fahrenheit solo tenemos que multiplicar está por 1,8.
ºF=(ºC*1,8)
temC=(((5 * sensorValue)*100)/1024);//Calculamos la temperatura en ºC. temF=(temC*1.8);//Calculamos la temperatura en ºF.
Añadimos las formulas antes propuestas a nuestro código y lo cargamos en Arduino.
int sensorPin = A0;//Declaramos el Pin analógico que usaremos. int sensorValue=0;//Variable para guardar la lectura del Pin analógico. int temC=0;//Variable para calcular los grados Celsius. int temF=0;//Variable para calcular los grados Faherenheit. void setup() { Serial.begin(9600);//Iniciamos el puero serie } void loop() { sensorValue = analogRead(sensorPin);//Leemos el Pin analógico temC=(((5 * sensorValue)*100)/1024);//Calculamos la temperatura en ºC. temF=(temC*1.8);//Calculamos la temperatura en ºF. Serial.print("LM35 ");//Imprimimos en el monitor serial "LM35 " Serial.println(sensorValue);//Imprimimos la lectura del Pin Serial.print("Temperatura: ");//Imprimimos "Temperatura: " Serial.print(temC);//Imprimimos la temperatura en ºC. Serial.println(" grados Centigrados");//Imprimimos "grados Centigrados" Serial.print("Temperatura: ");//Imprimimos "Temperatura: " Serial.print(temF);//Imprimimos la temperatura en ºF. Serial.println(" grados Fahrenheit");//Imprimimos "grados Fahrenheit" delay(2000);//Esperamos 2 segundos para hacer la próxima lectura. }
Esta será la vista del monitor serial.

Alarma por temperatura.
int sensorPin = A0;//Declaramos el Pin analógico que usaremos. int sensorValue=0;//Variable para guardar la lectura del Pin analógico. int temC=0;//Variable para calcular los grados Celsius. int temF=0;//Variable para calcular los grados Faherenheit. int led=13;//Declaramos el pin que usaremos para el led. void setup() { Serial.begin(9600);//Iniciamos el puero serie pinMode(led, OUTPUT);//Configuramos el led como salida } void loop() { sensorValue = analogRead(sensorPin);//Leemos el Pin analógico temC=(((5 * sensorValue)*100)/1024);//Calculamos la temperatura en ºC. temF=(temC*1.8);//Calculamos la temperatura en ºF. Serial.print("LM35 ");//Imprimimos en el monitor serial "LM35 " Serial.println(sensorValue);//Imprimimos la lectura del Pin Serial.print("Temperatura: ");//Imprimimos "Temperatura: " Serial.print(temC);//Imprimimos la temperatura en ºC. Serial.println(" grados Centigrados");//Imprimimos "grados Centigrados" Serial.print("Temperatura: ");//Imprimimos "Temperatura: " Serial.print(temF);//Imprimimos la temperatura en ºF. Serial.println(" grados Fahrenheit");//Imprimimos "grados Fahrenheit" delay(2000);//Esperamos 2 segundos para hacer la próxima lectura. if(temC>30)//Si la temperatura supera los 30ºC se activa el led {digitalWrite(led, HIGH);} else {digitalWrite(led, LOW);}//Si no la supera no se activa }
Si la temperatura esta por debajo de 30ºC el led se mantiene apagado.

Si la temperatura esta por encima de 30ºC el led se enciende.

Etiquetas: Arduino, lm35, sensor, temperatura, tutorial