En este artículo, te mostraré cómo usar el sensor de temperatura TMP36 con un microcontrolador ESP32.
El TMP36 es un sensor de temperatura de bajo costo y bajo voltaje. Ya está calibrado en grados Celsius, lo que facilita el manejo de los datos del sensor.
Verás que la medición de temperatura es una necesidad principal en muchas aplicaciones diferentes.
Los sensores de temperatura protegen dispositivos electrónicos como portátiles y televisores contra el sobrecalentamiento. Hoy en día, todas las baterías también incluyen un sensor de temperatura para evitar el sobrecalentamiento.
En este artículo te enseñaré toda la información esencial que necesitas saber sobre el sensor de temperatura TMP36.
Te mostraré cómo usar un sensor TMP36 con ESP32. Obtendrás una guía de conexión, código de ejemplo para ESP32 con TMP36, y también responderé algunas preguntas frecuentes sobre el TMP36.
¡Vamos a empezar!
Componentes necesarios para construir el proyecto ESP32 y sensor TMP36
Componentes de hardware
- Dupont wire x 1 set
- Micro USB Cable for ESP32 x 1
Software
Guía
Makerguides.com participa en el Programa de Asociados de Amazon Services LLC, un programa de publicidad afiliada diseñado para proporcionar un medio para que los sitios ganen comisiones publicitarias mediante la publicidad y enlace a productos en Amazon.com.
Fundamentos de los sensores TMP36
Entendamos las características intrínsecas del sensor de temperatura TMP36. Conocer los detalles te ayudará a construir el proyecto con confianza y decidir si el TMP36 es la opción adecuada.
El TMP36 viene en un paquete de tres pines y en un paquete SMD de contorno pequeño.

El IC TMP36 es sencillo de usar. No hay direcciones de IC, cálculo de CRC ni comunicación serial, etc.
- Solo usas un ADC y lees el valor analógico.
- Convierte el valor analógico en voltaje.
- Usa la tabla de referencia que se muestra a continuación para convertir el voltaje en temperatura.
Eso es todo. Es simple y directo usar el sensor TMP36.
Además del sensor TMP36, también existen el TMP35 y TMP37, que son muy similares pero con diferencias sutiles, que he resumido en la tabla a continuación:
| Sensor | Voltaje a 25 ℃ | Rango de medición | Factor de escala de salida |
| TMP35 | 250 mV | 10 °C a 125 ℃ | 10 mV/℃ |
| TMP36 | 750 mV | −40 °C a +125 ℃ | 10 mV/℃ |
| TMP37 | 500 mV | 5 °C a 100 ℃ | 20 mV/℃ |
Características del sensor TMP36
Aquí están las características clave del sensor TMP36 resumidas en una tabla:
| Parámetro | Rango |
| Rango de temperatura de operación | -40 ℃ a 125 ℃ |
| Precisión de temperatura | ± 1 ℃ (típico), ± 2 ℃ (máximo) |
| Voltaje de alimentación | 2.7 V a 5.5 V |
| Salida | 750 mV a 25 ℃ |
| Corriente de alimentación | 50 uA |
| Corriente en espera | 0.5 uA |
| Estabilidad a largo plazo | ± 0.4 ℃ |
| Rango de voltaje de salida | 100 mV a 2 V |
Definición de pines del sensor TMP36
Puedes usar la referencia a continuación para consultar rápidamente los pines del sensor de temperatura TMP36:

| Número de pin | Pin | Descripción |
| 1 | +Vs | Pin de alimentación. (2.7 V a 5.5 V) |
| 2 | VOUT | Voltaje analógico de salida |
| 3 | GND | Conexión a tierra |
En la versión SMD, hay un pin adicional llamado shutdown. En estas versiones, puedes ahorrar más energía poniendo el IC en modo de suspensión usando el pin shutdown.
El consumo de corriente bajará a 500 nA (¡lo cual es fantástico para un dispositivo alimentado por batería!).
¿Cómo derivar la temperatura a partir de VOUT del TMP36?
Puedes usar el gráfico a continuación para convertir el voltaje analógico leído en temperatura.

Como puedes ver en el gráfico, el voltaje a 25 grados es 750 mV, y a 50 grados es 1 V.
Ahora, si has leído un voltaje de 1 V desde el ADC, debes consultar este gráfico y referirte a la línea azul (que corresponde al sensor TMP36).
Para convertir el valor del ADC a voltaje usa la siguiente ecuación.
ADC_volts_in_mV = (ADC_reading) * 3300 / 1024;
Para convertir el voltaje del ADC en temperatura, puedes usar la fórmula siguiente.
temperature = (ADC_volts_in_mV – 500) / 10;
Función del pin SHUTDOWN del sensor TMP36
Las tres variantes, TMP35, TMP36 y TMP37, tienen una función de apagado. Es un pin adicional en las versiones SMD. Te ayuda a reducir el consumo de corriente a 0.5 uA.
Debes elegir el paquete con cuidado. El de tres pines (TO-92) no tiene este pin de apagado.
Debes poner el pin shutdown en bajo para poner el IC en modo de apagado. Si usas un GPIO, debes enviar un lógico 0. Esto pone el IC en modo de suspensión.
El pin shutdown tiene una resistencia pull-up interna hacia el pin de alimentación dentro del TMP36. Por lo tanto, también puedes controlar el pin shutdown usando un pin de drenaje abierto.
Cuando el TMP36 está en modo shutdown, el voltaje de salida ya no es válido.
Además, cuando pones el sensor en modo shutdown, tarda un tiempo finito en apagarse. El gráfico a continuación muestra el tiempo esperado tras el cual el IC se apagará.

A temperatura ambiente, el tiempo de respuesta es de aproximadamente 265 us, variando según la temperatura ambiente. Debes tener esto en cuenta en tu código al usar la función shutdown.
Aplicaciones del sensor TMP36
El TMP36 es un sensor principal usado para la medición de temperatura, y tiene una amplia gama de usos, incluyendo:
- Sistemas HVAC – Los sistemas de calefacción, ventilación y aire acondicionado dependen mucho de la temperatura ambiente para su funcionamiento. El TMP36 es una solución valiosa para estos sistemas.
- Procesamiento de alimentos – Necesitas un sistema de monitoreo de temperatura para asegurar que los alimentos no se echen a perder y se cocinen a la temperatura correcta. Puedes usar TMP36 en estas aplicaciones.
- Equipos médicos – Puedes usar el sensor para monitorear la temperatura del paciente y asegurar que la UCI y otras áreas críticas mantengan temperaturas saludables para la comodidad y precisión del procedimiento restaurativo.
- Procesos industriales: Varios procesos industriales dependen del sensor TMP36 para asegurar que las piezas se produzcan a la temperatura adecuada y garantizar la precisión de la producción.
La variación de temperatura puede causar cambios dimensionales o de color en procesos específicos. Por eso es crítico rastrear y monitorear la temperatura.
¿Para qué aplicación estás usando el sensor TMP36? Cuéntanos en la sección de comentarios abajo.
Conectando el módulo sensor TMP36 con ESP32
Te mostraré cómo construir un proyecto usando ESP32 y el sensor de temperatura TMP36. Comencemos con las conexiones de hardware.
Paso 1: Completa las conexiones de hardware

El TMP36 es un IC de solo 3 pines. La simplicidad de la conexión es evidente en el diagrama aquí.
Comienza con las conexiones a tierra. Si necesitas usar otros pines, edita el código en consecuencia.
Alimenta todo el sistema solo después de completar todas las conexiones.
Paso 2: Programa el ESP32 con el código siguiente
Sigue el siguiente paso para entender la implementación del código. Puedes usar el código abajo para probar el módulo ESP32 y el sensor TMP36 conectado.
Si no has usado un ESP32 con tu Arduino IDE antes, lee nuestro tutorial Install ESP32 core in Arduino IDE.
const int tempPin = 2; //analog input pin constant
int tempVal; // temperature sensor raw readings
float volts; // variable for storing voltage
float temp; // actual temperature variable
void setup()
{
// start the serial port at 9600 baud
Serial.begin(9600);
}
void loop()
{
//read the temp sensor and store it in tempVal
tempVal = analogRead(tempPin);
volts = tempVal / 1023.0;
temp = (volts - 0.5) * 100 ;
Serial.print(" Temperature is: ");
Serial.print(temp); // in the same line print the temperature
Serial.println (" degrees C"); // still in the same line print degrees C, then go to next line.
delay(1000); // wait for 1 second or 1000 milliseconds before taking the next reading.
}
Paso 3: Revisión del código
Vamos a repasar el código. Este ejemplo prueba sensores TMP36. El código se usa para leer la temperatura e imprimirla en el terminal serial.
const int tempPin = 2; //analog input pin constant
Primero, definimos una variable entera constante tempPin a la que se le asigna el valor 2. Este es el pin al que hemos conectado el sensor de temperatura TMP36.
int tempVal; // temperature sensor raw readings float volts; // variable for storing voltage float temp; // actual temperature variable
La variable tempVal se declara como un entero para almacenar el valor analógico bruto leído del sensor de temperatura.
La variable volts se usa para almacenar el valor de voltaje calculado a partir de tempVal. La variable temp es para almacenar el valor real de la temperatura.
En la función setup(), llamamos a Serial.begin() para comunicarnos con una velocidad de 9600 baudios.
volts = tempVal / 1023.0;
La línea anterior convierte el valor analógico leído en voltaje.
temp = (volts - 0.5) * 100;
La línea anterior es clave en este código. Restamos 500 mV del voltaje leído.
¿Por qué? Consulta la sección de fundamentos de este artículo para más información detallada.
Como sabes, el sensor añade un offset de 500 mV. Esto te ayuda a leer el rango de temperatura negativa así como el voltaje positivo.
Finalmente, la temperatura se muestra en el terminal serial. Espero que la explicación del código te haya ayudado. Espero que uses TMP36 pronto en tus próximos proyectos.
Preguntas frecuentes sobre los sensores TMP36
He incluido una lista de las preguntas más frecuentes sobre proyectos construidos usando ESP32 y sensores TMP36.
¿Qué es TMP36?
TMP36 es un sensor de temperatura analógico de precisión y bajo voltaje que puede medir temperaturas desde -40°C hasta +125°C. Proporciona un voltaje linealmente proporcional a la temperatura en grados centígrados.
¿Cuál es el voltaje de salida del sensor TMP36?
El voltaje de salida del TMP36 varía linealmente con la temperatura y tiene un factor de escala de 10 mV/°C.
Ejemplo: Si la temperatura es 25°C, el voltaje de salida será 0.25 V. Puedes consultar el gráfico abajo para encontrar el voltaje de salida esperado para la temperatura correspondiente. (gráfico b).

¿Cuál es el rango de voltaje de operación del TMP36?
El rango de voltaje de operación del TMP36 es de 2.7V a 5.5V.
¿Cuál es la precisión del sensor TMP36?
La precisión del TMP36 es típicamente ±1 °C a 25 °C. TMP36 tiene un error máximo de ±2 °C en el rango de temperatura de -40°C a +125 °C.
¿Cuál es la resolución del sensor de temperatura TMP36?
La resolución del sensor de temperatura TMP36 es de 0.1°C.
¿Cómo puedo conectar el TMP36 a un microcontrolador?
Puedes conectar el TMP36 a cualquier MCU usando un pin de entrada ADC ya que el TMP36 proporciona un voltaje analógico de salida (correspondiente a la temperatura medida en grados centígrados).
ESP32 tiene ADC incorporado, al igual que Arduino UNO y la mayoría de los MCUs tienen ADCs integrados.
¿Cuáles son las aplicaciones del TMP36?
El TMP36 puede usarse en varias aplicaciones, como la medición de temperatura en dispositivos electrónicos, estaciones meteorológicas, procesamiento de alimentos, logística y sistemas HVAC.
¿Se puede usar el TMP36 para mediciones de alta temperatura?
El TMP36 no es adecuado para mediciones de alta temperatura ya que solo puede medir hasta +125 °C.
Si quieres medir temperaturas en el rango de 200 o 400 grados, deberías buscar termopares. Están diseñados específicamente para monitorear altas temperaturas.
¿Cuál es el tipo de paquete del TMP36?
El TMP36 viene en varios paquetes: 3 pines (TO-92), IC de 5 pines (SOT23) e incluso IC de 8 pines (SOIC).
Consulta la imagen a continuación para entender las diferentes versiones de pines del TMP36 que puedes comprar en el mercado. Mi favorita es la TO-92, que es la versión de tres pines.

Conclusión
He cubierto toda la información esencial sobre los sensores TMP36 en este artículo. Te he dado información completa sobre el funcionamiento del sensor de temperatura TMP36 y las ventajas de usarlo en tus futuros proyectos de medición térmica.
El diagrama de conexión del ESP32 y el código de ejemplo te ayudaron a probar tus conexiones y construir el proyecto más rápido. Si tienes más preguntas sobre los sensores, por favor publícalas en la sección de comentarios.
He usado sensores TMP36 mientras estudiaba el rendimiento térmico de una PCB de prueba. Usé 6 sensores TMP36 para monitorear la temperatura en diferentes puntos de la PCB de prueba.
Puedes utilizar el TMP36 en muchos proyectos diferentes con ESP32 y conectarlo con varias unidades de visualización para mostrar los datos.
Cuéntanos si hay algo más que te gustaría que cubriera en futuros artículos.


