Introducción
En este tutorial te enseñaremos cómo puedes crear tu propio termómetro con Arduino y el sensor LM35DZ. Las mediciones realizadas por el sensor se mostrarán en un display LCD 16×2.
Este proyecto es útil para aprender a utilizar sensores analógicos con Arduino como es el caso del sensor LM35. Utilizaremos algunos de los conceptos relacionados con el convertidor analógico a digital (ADC) y también es una aplicación práctica del display LCD 16x2.
Este es un proyecto de nivel básico que no puede faltar en nuestra colección de tutoriales para Arduino.
¿Cómo hacer un termómetro con Arduino y LM35?
- Adquirir todos los materiales que se listan en esta página.
- Armar el circuito que aparece más abajo para el termómetro digital con Arduino, LM35DZ y display LCD 16×2.
- Cargar el programa que se encuentra en esta página en nuestra tarjeta Arduino Uno.
- Comprobar el funcionamiento del circuito y preferentemente revisar la exactitud de la medición contra otro instrumento de control.
Como en todos nuestros proyectos te recomendamos estudiar a fondo el código y el diagrama para que comprendas el funcionamiento de los componentes.
Materiales
- Arduino Uno R3
- Sensor de temperatura LM35DZ
- Pantalla o display LCD 16x2
- Protoboard de 830 puntos
- Cables dupont macho-macho
- Potenciómetro de 10K tipo rotatorio
- Alambre para protoboard
Para usar la pantalla LCD 16×2 es necesario soldar el conector header macho que se vende por separado.
Circuito para realizar termómetro digital con Arduino, LM35DZ y display LCD 16×2
Para realizar el termómetro necesitamos armar el circuito que se muestra a continuación en el protoboard.

Código para termómetro con Arduino
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | /** Geek Factory - "Dale vuelo a tus proyectos" www.geekfactory.mx PROYECTOS CON ARDUINO: TERMOMETRO CON ARDUINO Y LM35DZ ARDUINO PROJECTS: DIGITAL THERMOMETER WITH ARDUINO AND LM35DZ CONSULTA EL ARCHIVO LICENCIA.TXT PARA CONOCER MÁS SOBRE LOS DERECHOS DE DISTRIBUCIÓN DE ESTE MATERIAL O LA SIGUIENTE URL: HTTPS://WWW.GEEKFACTORY.MX/LICENCIA-CONTENIDO. CHECK OUT THE LICENCE.TXT FILE TO LEARN MORE ABOUT THE DISTRIBUTION RIGHTS OF THIS WORK OR CHECK THE FOLLOWING URL: HTTPS://WWW.GEEKFACTORY.MX/LICENCIA-CONTENIDO. PUBLICADO BAJO LICENCIA ATTRIBUTION-NONCOMMERCIAL-SHAREALIKE 4.0 INTERNATIONAL (CC BY-NC-SA 4.0). PUBLISHED UNDER THE ATTRIBUTION-NONCOMMERCIAL-SHAREALIKE 4.0 INTERNATIONAL (CC BY-NC-SA 4.0) LICENCE. Resumen: Este programa implementa un termómetro básico con el sensor LM35DZ, el resultado de la medición de temperatura se muestra en un display LCD de 16 caracteres y 2 lineas. Overview: This program implements a basic thermometer using the LM35DZ sensor, the measurement is shown in the 16x2 character LCD display. */ /** Librerias utilizadas por este proyecto */ #include <LiquidCrystal.h> // variable para guardar el numero de pin donde conectaremos el sensor LM35DZ const int pinsensor = A0; // objeto para manejar la pantalla LCD LiquidCrystal lcd(7, 6, 5, 4, 3, 2); /** Función setup: se ejecuta una vez cuando encendemos el arduino */ void setup() { // utilizamos la referencia interna de voltaje del convertidor A/D // esta función configura la referencia del ADC ya sea interna o externa // para este programa utilizaremos la referencia interna de 1.1 volts analogReference(INTERNAL); // indicar a la librería que tenemos conectada una pantalla de 16x2 lcd.begin(16, 2); // mover el cursor a la primera posición de la pantalla (0,0) // y al mismo tiempo borramos su contenido lcd.clear(); // imprimir mensaje inicial en la pantalla lcd.print(" GEEKFACTORY.MX "); lcd.setCursor(0, 1); lcd.print("TERMOMETRO LM35"); // esperar cinco segundos antes de iniciar el programa principal delay(5000); } /** Función loop: se ejecuta continuamente mientras el arduino permanece encendido */ void loop() { // variable local para el valor del ADC que va en un rango de 0 a 1023 int valadc = analogRead(pinsensor); // calculamos la temperatura con la fórmula siguiente float temperatura = (110.0 * valadc) / 1024.0; // borrar toda la pantalla lcd.clear(); // imprimir a la pantalla una leyenda lcd.print(" TEMPERATURA "); // mover el cursor a la segunda línea lcd.setCursor(5, 1); // imprimir el valor de la medición de temperatura lcd.print(temperatura, 1); // secuencia de escape para imprimir el simbolo de grados que forma // parte de los caracteres especiales de la pantalla LCD lcd.print(" \337C"); // esperamos 5 segundos antes de realizar una nueva medición // podemos personalizar este retardo a nuestro gusto delay(5000); } |
Enlaces y lecturas recomendadas
- Página de producto del sensor LM35DZ con sus características y especificaciones
- Página de producto de display LCD 16x2
- Termómetro de 4 canales con Arduino.
- Referencia de la función analogRead()
- Información de la función analogReference().
Conclusión
- En este tutorial aprendimos a utilizar un sensor LM35 con Arduino y a mostrar el resultado de la medición en una pantalla o display LCD de 16 x 2.
- Aprendimos a configurar la referencia de voltaje del convertidor analógico a digital (ADC) para usar el valor interno de 1.1 volts.
- Realizamos un ejemplo práctico con la pantalla o display LCD 16×2 en el cual se muestra la medición de un sensor en el display.













me sirvio mucho esto para entender conectar los pines del lcd