9 INCREIBLES sensores de temperatura para Arduino
Publicado por Loli Diéguez en
Leer la temperatura es una tarea muy útil y con muchas aplicaciones posibles y existe una amplia variedad de sensores de temperatura para Arduino con diferentes características que puedes usar en tus proyectos.
En este artículo, hemos seleccionado 9 sensores de temperatura para Arduino y compatibles también con otras placas de desarrollo como ESP32 o ESP8266.
1. Sensor de temperatura DHT11
El sensor DHT11 es un sensor digital que mide la temperatura y la humedad relativa.
Y ¿Qué es la humedad relativa? Es la cantidad de vapor de agua en el aire, expresada como un porcentaje de la cantidad máxima que el aire podría contener a la temperatura dada. La relación entre la presión de vapor de agua real y la presión de vapor de saturación.
Este sensor está compuesto por un termistor NTC para medir la temperatura, un sensor de humedad y un microcontrolador de 8 bits para obtener los valores de temperatura y humedad analógicos en formato digital.
Como se ve en la siguiente foto, la temperatura sale por el pin o patilla 2, pudiendo alimentarse desde la placa Arduino con 3.3V o 5V en la patilla 1.
La patilla 4 es tierra y la 3 no está en uso.
Tiene un rango de medición más pequeño y es menos preciso, pero puede obtener lecturas de temperatura cada segundo, algo más rápido que el DHT22.
Esto los hace muy fáciles de usar con cualquier microcontrolador como el Arduino.
La siguiente tabla muestra las especificaciones más relevantes del sensor de temperatura DHT11.
Sensor DHT11 |
|
Protocolo de comunicación |
un hilo |
Rango de suministro de energía |
3 a 5.5 V |
Rango de temperatura |
0 a 50 ºC +/- 2 ºC |
Rango de humedad |
20 a 90% +/- 5% |
Periodo de muestreo |
1 segundo |
Bibliotecas Arduino |
2. Sensor de temperatura DHT22
El sensor de temperatura DHT22 es muy similar al sensor DHT11. También mide la temperatura y la humedad del mismo modo ya que también cuenta con un medidor de humedad y un termistor NTC.
Es más preciso y tiene un rango de medición de temperatura y humedad más amplio, pero solo puede solicitar lecturas con un intervalo de 2 segundos.
La siguiente tabla muestra las especificaciones más relevantes del sensor DHT22.
DHT22 |
|
Protocolo de comunicación |
un hilo |
Rango de suministro de energía |
3 a 6 V |
Rango de temperatura |
-40 a 80 ºC +/- 0.5ºC |
Rango de humedad |
0 a 100% +/- 2% |
Periodo de muestreo |
2 segundos |
Bibliotecas Arduino |
3. Sensor de temperatura LM35DZ
El sensor LM35 mide la temperatura de forma lineal generando un voltaje proporcional al valor de la temperatura y viene calibrado en grados Celsius.
La salida analógica es directamente proporcional a la temperatura que mide: aumento de temperatura de 10 mV por grado Celsius. El rango de medición es de -55ºC (-550mV) a 150ºC (1500 mV). Su precisión a temperatura ambiente es de 0,5ºC.
El sensor LM35 requiere muy poca corriente para funcionar, aproximadamente 60uA, lo que supone un autocalentamiento muy bajo (alrededor de 0.08ºC al aire), lo que significa que las mediciones de temperatura no se verán afectadas por el propio sensor.
Es un sensor que presenta únicamente 3 pines (VCC, GND y Data), por ello su conexión es muy sencilla
Para leer la temperatura de estos sensores, solo necesitas leer el voltaje de salida del sensor con un pin analógico de la placa Arduino y emplear la función analogRead () en tu sketch y conseguirás lecturas de temperatura con dos puntos decimales.
La siguiente tabla muestra las especificaciones más relevantes del sensor de temperatura LM35.
Sensor LM35DZ |
|
Protocolo de comunicación |
salida analógica |
Rango de suministro de energía |
4 a 30 V |
Rango de temperatura |
-55 a 150ºC |
Exactitud |
+/- 0.5ºC (a 25ºC) |
Interfaz con Arduino |
analogRead () |
4. Sensor de temperatura BMP180
Aunque el BMP180 es un sensor de presión barométrica que también mide la temperatura, es muy útil para incluirlo en cualquier proyecto de estación meteorológica.
El rango de temperatura va de 0 a 65ºC y hace uso del protocolo i2c.
La siguiente tabla muestra las especificaciones más relevantes del sensor de temperatura BMP180 cuando se trata de la lectura de temperatura.
BMP180 |
|
Protocolo de comunicación |
I2C |
Rango de suministro de energía |
1.8 a 3.6V (para el chip) 3.3 a 5V para el módulo |
Rango de temperatura |
0 a 65ºC |
Exactitud |
+/- 0.5ºC (a 25ºC) |
Interfaz con Arduino |
5. Sensor de temperatura TMP36
El sensor de temperatura TMP36 es un sensor analógico que saca una tensión analógica proporcional a la temperatura ambiente.
El TMP36 tiene en su interior un diodo que a medida que aumenta la temperatura, el voltaje a través del diodo aumenta a una velocidad conocida. Al amplificar con precisión el cambio de voltaje, es fácil generar una señal analógica que sea directamente proporcional a la temperatura.
No requiere ninguna calibración externa para proporcionar precisiones típicas de ±1°C a +25°C y ±2°C en el rango de temperatura de −40 °C a +125 °C.
Se puede alimentar entre 2.7 y 5.5 Vcc y leer el voltaje en el pin Vout, el voltaje de salida es de 10 mV por cada grado de temperatura.
Es muy similar al sensor LM35.
Para usarlo en tus circuitos conecta el pin izquierdo a la alimentación (2.7-5.5V) y el pin derecho a tierra. Entonces el pin del medio sacará un voltaje analógico directamente proporcional a la temperatura.
Otra manera de identificar los pines es empleando este esquema que el fabricante proporciona en su ficha técnica
El voltaje analógico es independiente de la fuente de alimentación. Para convertir el voltaje a temperatura, simplemente usa esta fórmula básica:
- Temperatura en ° C = [(Vout en mV) - 500 ] / 10
Verifica las especificaciones más relevantes del TMP36 en la siguiente tabla.
TMP36 |
|
Protocolo de comunicación |
salida analógica |
Rango de suministro de energía |
2.7 V a 5.5 V |
Rango de temperatura |
-40 ° C a + 125 ° C |
Exactitud |
+/- 1ºC (a 25ºC) |
Interfaz con Arduino |
analogRead () |
6. Sensor de temperatura LM75
El sensor de temperatura LM75 es otro sensor útil con una precisión máxima de ± 1 ºC en un rango de -25 ºC a + 100 ºC y una precisión máxima de ±2 ºC en un rango de +55 ºC a +125 ºC
Funciona a través de la comunicación I2C, lo que significa que se comunica con Arduino utilizando los pines SDA y SCL.
El sensor se puede identificar dentro del bus i2c por medio de tres pines lo que permite conectar varios dispositivos y que funcionen en el mismo bus.
El rango de voltaje de alimentación de 3.0V a 5.5V, la baja corriente de alimentación y la interfaz I²C hacen que el LM75 sea ideal para muchas aplicaciones en gestión y protección térmica.
Consulta la siguiente tabla para obtener un resumen de las especificaciones del sensor LM75.
LM75 |
|
Protocolo de comunicación |
I2C |
Rango de suministro de energía |
3.0 a 5.5V |
Rango de temperatura |
-55 a 125ºC |
Exactitud |
+/- 2.0ºC (en un rango de -55 a 125ºC)) |
Interfaz con Arduino |
7. Sensor de temperatura BME280
El sensor de temperatura BME280 es un sensor barométrico que también mide la temperatura y la humedad.
Se puede comunicar mediante el protocolo de comunicación I2C o SPI y se puede alimentar con 3.3 o 5V.
El rango de temperatura es más amplio que su hermano pequeño, pudiendo medir en un rango de temperatura más amplio, entre -40 a 85ºC
La siguiente tabla muestra un resumen de las especificaciones del sensor BME280.
BME280 |
|
Protocolo de comunicación |
I2C o SPI |
Rango de suministro de energía |
1.7 a 3.6V (para el chip) 3.3 a 5V para la placa |
Rango de temperatura |
-40 a 85ºC |
Exactitud |
+/- 0.5ºC (a 25ºC) |
Interfaz con Arduino |
Biblioteca Adafruit BME280 Biblioteca de |
8. Sensor de temperatura DS18B20
El sensor de temperatura DS18B20 es un sensor digital de un solo cable. Esto significa que solo requiere una línea de datos y GND para comunicarse con el Arduino.
Cada DS18B20 se identifica con un código único de 64 bits. Lo que permite conectar múltiples sensores al mismo cable de datos. Por lo tanto, puede obtener la temperatura de múltiples sensores usando solo un pin digital Arduino.
Además, la resolución de medición de la temperatura se puede establecer en 9, 10, 11 o 12 bits, lo que corresponde a incrementos de 0.5 ° C, 0.25 ° C, 0.125 ° C y 0.0625 ° C, respectivamente. La resolución predeterminada en el encendido es de 12 bits.
El sensor se puede alimentar con una fuente de alimentación de 3V a 5.5V y consume solo 1mA durante las conversiones de temperatura activas.
Una de las mayores ventajas de este sensor es que puedes colocar varios de ellos en el mismo bus. Como cada DS18B20 se identifica con un código de serie único de 64 bits incorporado desde fábrica, es fácil diferenciarlos entre sí.
Esta característica puede ser una gran ventaja cuando deseas controlar muchos sensores distribuidos en un área grande.
El pinout del sensor son como te muestro en esta imagen
La siguiente tabla muestra las especificaciones más relevantes del sensor DS18B20:
DS18B20 |
|
Protocolo de comunicación |
un hilo |
Rango de suministro de energía |
3.0 a 5.5V |
Rango de temperatura de funcionamiento |
-55ºC a + 125ºC |
Exactitud |
+/- 0.5 ºC (entre el rango de -10ºC a 85ºC) |
Bibliotecas Arduino |
9. Sensor de temperatura Impermeable DS18B20
El DS18B20 también está disponible en versión impermeable.
Los cables están protegidos con PVC, lo que es ideal si necesita medir la temperatura de los líquidos o si el sensor debe exponerse al agua.
El cableado y las especificaciones son los mismos que para el DS18B20 normal.