En este tutorial vas a aprender a armar un termómetro digital conectando un termistor a tu placa Uno R3. Es un proyecto bárbaro para entender cómo los sensores analógicos pueden transformar cambios de temperatura en datos que podés leer en tiempo real en una pantalla LCD.
Resumen
En esta guía, vas a usar un módulo LCD1602 para mostrar la temperatura ambiente detectada por el sensor.
Componentes necesarios
(1) x Elegoo Uno R3
(1) x Módulo LCD1602
(1) x Resistencia de 10k ohm
(1) x Termistor
(1) x Potenciómetro
(1) x Protoboard de 830 puntos
(18) x Cables M-M (puentes macho a macho)
Introducción a los componentes
Termistor
Un termistor es una resistencia térmica, o sea, un componente que cambia su resistencia según la temperatura. Técnicamente, todas las resistencias son termistores (su valor varía un poquito con el calor), pero en los termistores de verdad este cambio es drástico y fácil de medir, llegando a variar 100 Ohms o más por cada grado de diferencia.
Existen dos tipos: NTC (coeficiente de temperatura negativo) y PTC (coeficiente de temperatura positivo). Por lo general, vas a ver que se usan sensores NTC para medir temperatura. Los PTC se suelen usar como fusibles que se resetean solos: cuando sube la temperatura, sube la resistencia y "frenan" la corriente, algo muy útil para proteger circuitos.
Esquema de conexión y cableado
Fijate bien en los diagramas antes de conectar todo para no pifiarle a los pines del LCD y el termistor.
Código
Podés hacer clic en el enlace azul para bajar el archivo del programa a tu compu. Una vez descargado, dale doble clic para abrirlo. Importante: antes de abrir el archivo, asegurate de tener instalado el IDE de Arduino y los drivers correspondientes a la placa UNO R3. Si tenés dudas con esto, fijate en el capítulo "parte 1" de la documentación para que te guíe paso a paso.
📥 DESCARGAR lcd_thermometer.ino
Antes de darle play, chequeá que tenés la librería instalada (o reinstalala si hace falta), porque si no el código no va a andar. Con este programa, la placa lee la temperatura del termistor NTC, hace los cálculos usando la ecuación de Steinhart-Hart y muestra el resultado en la pantalla de 16x2. La temperatura se actualiza cada 500 milisegundos.
Análisis del código
Librerías e inicialización: Se usa #include <LiquidCrystal.h> para controlar la pantalla LCD. El termistor se asigna al pin analógico A0 (tempPin = 0) y se crea el objeto "lcd" especificando los pines de conexión (7, 8, 9, 10, 11, 12).
Función Setup: Acá se usa lcd.begin(16, 2) para decirle al sistema que la pantalla tiene 16 columnas y 2 filas.
Lectura y cálculos: Dentro del loop, el programa lee el valor analógico del sensor. Después, mediante logaritmos y coeficientes específicos de la ecuación de Steinhart-Hart, calcula la temperatura primero en Kelvin, para luego convertirla a Celsius y Fahrenheit.
Visualización: Se usa lcd.setCursor(0, 0) para posicionar el texto al principio de la primera fila y lcd.print para mostrar la palabra "Temp C" seguida del valor obtenido. Si preferís usar Fahrenheit, podés comentar la línea de Celsius y habilitar la de Fahrenheit en el código.
Solución de problemas
Si la pantalla no muestra nada o se ve raro, fijate de regular el potenciómetro para ajustar el contraste del LCD. También revisá que el termistor esté bien haciendo contacto en la protoboard.
Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.