Este tutorial es parte de: Sensor digital de humedad relativa y temperatura HTU21D
Vídeos relacionados con el sensor digital de humedad relativa y temperatura HTU21D. Encontrará enlaces a otros vídeos debajo de este artículo.
Uso de dos sensores de humedad y temperatura HTU21DF más con Arduino
En este tutorial, aprenderemos cómo conectar y utilizar dos sensores de temperatura y humedad HTU21DF con un Arduino. El sensor HTU21DF es conocido por su precisión y bajo consumo de energía, lo que lo hace ideal para diversas aplicaciones. Al final de este tutorial, podrás leer los valores de temperatura y humedad de ambos sensores y mostrarlos en el monitor serie.

Para comenzar, analizaremos brevemente los componentes de hardware involucrados en este proyecto. Los sensores HTU21DF se comunican a través de I2C, lo que requiere solo dos líneas de datos además de las conexiones de alimentación y tierra. El Arduino leerá los datos del sensor e imprimirá los resultados en el monitor serial, lo que te permitirá observar los cambios en temperatura y humedad en tiempo real.
Para una comprensión más clara del proceso de cableado y codificación, considera ver el video asociado (en el video a las 01:30). ¡Vamos a profundizar en los detalles!
Hardware Explicado
El componente principal de este proyecto es el sensor HTU21DF, que mide la temperatura y la humedad relativa. Este sensor opera utilizando comunicación I2C, lo que simplifica el cableado al necesitar solo dos líneas de datos. Es capaz de medir temperaturas desde -40°C hasta 125°C y niveles de humedad del 0% al 100% con una resolución del 0.04%.
Cuando el sensor no está midiendo activamente, consume solo 0.04 µA, lo que lo hace adecuado para aplicaciones con batería. Al medir, el consumo de corriente es de alrededor de 400 µA, lo cual sigue siendo relativamente bajo para la mayoría de los proyectos.
Detalles de la hoja de datos
| Fabricante | TE Connectivity |
|---|---|
| Número de parte | HTU21DF |
| Voltaje de lógica/IO | 1.5 - 3.6 V |
| Tensión de suministro | 3.3 V |
| Corriente de salida (por canal) | 0.4 mA (medición) |
| Corriente de pico (por canal) | 450 µA (máx) |
| Orientación sobre la frecuencia PWM | No aplicable |
| Umbrales de lógica de entrada | 0.3 x VDDa 0.7 x VDD |
| Caída de voltaje / RDS(en)/ saturación | N/A |
| Límites térmicos | -40°C a +125°C |
| Paquete | DFN de 6 pines |
| Notas / variantes | Disponible en diferentes tamaños de paquete. |
- Fuente de alimentación: 3.3 V recomendado para un rendimiento óptimo.
- Conecta SCL al pin de reloj I2C (A5 en Arduino UNO).
- Conecta SDA al pin de datos I2C (A4 en Arduino UNO).
- Asegúrese de realizar una conexión adecuada para evitar entradas flotantes.
- Monitorea el consumo actual durante la medición para gestionar la duración de la batería.
- Considere utilizar resistencias de pull-up si es necesario para las líneas I2C.
Instrucciones de cableado

Para cablear los sensores HTU21DF, comienza conectando el VCCconecte el pin de cada sensor al pin de 3.3 V en el Arduino. A continuación, conecte el pin GND de cada sensor a una tierra común. Para la comunicación I2C, conecte el pin SDA de ambos sensores al pin A4 en el Arduino y el pin SCL al pin A5. Asegúrese de que los sensores estén alimentados correctamente y de que las conexiones de datos sean seguras para facilitar la comunicación.
Si está utilizando sensores o componentes adicionales, asegúrese de que su cableado no interfiera con el bus I2C. Los sensores HTU21DF se pueden conectar en paralelo al mismo bus I2C, lo que permite que el Arduino lea datos de ambos sensores sin confusión.
Ejemplos de código y guía paso a paso
El siguiente código inicializa los sensores HTU21DF y lee sus valores de temperatura y humedad. Primero, incluimos las bibliotecas necesarias y creamos instancias para ambos sensores:
#include
#include "Adafruit_HTU21DF.h"
Adafruit_HTU21DF htu1 = Adafruit_HTU21DF(); // create object for first sensor
Adafruit_HTU21DF htu2 = Adafruit_HTU21DF(); // create object for second sensor
El código anterior configura las bibliotecas requeridas y crea dos objetos de sensor,htu1yhtu2, que se utilizará para leer datos de cada sensor de forma independiente.
Siguiente, en elsetup()función, inicializamos el monitor serial y verificamos si los sensores están conectados:
void setup() {
Serial.begin(9600);
if (!htu1.begin() || !htu2.begin()) {
Serial.println("Couldn't find sensor!");
while (1);
}
}
Esta sección del código inicializa la comunicación serie a 9600 baudios y verifica si ambos sensores están funcionando. Si no se detecta un sensor, imprimirá un mensaje de error y detendrá el programa.
En el bucle principal, leemos los valores de temperatura y humedad de ambos sensores y los mostramos:
void loop() {
float temp1 = htu1.readTemperature();
float rel_hum1 = htu1.readHumidity();
float temp2 = htu2.readTemperature();
float rel_hum2 = htu2.readHumidity();
Serial.print("Sensor 1 Temp: "); Serial.print(temp1); Serial.print(" C");
Serial.print("\tSensor 1 Humidity: "); Serial.print(rel_hum1); Serial.println(" %");
Serial.print("Sensor 2 Temp: "); Serial.print(temp2); Serial.print(" C");
Serial.print("\tSensor 2 Humidity: "); Serial.print(rel_hum2); Serial.println(" %");
delay(500);
}
Este bucle lee y imprime continuamente la temperatura y la humedad de ambos sensores cada 500 milisegundos. Puedes observar cómo cambian los valores en respuesta a las condiciones ambientales.
Demostración / Qué Esperar
Cuando ejecutes el código, el monitor serie mostrará los valores de temperatura y humedad de ambos sensores. Puedes aplicar calor, como el de una pistola de calor, para observar cómo aumentan las lecturas de temperatura mientras que los niveles de humedad pueden disminuir (en el video a las 12:30). Si la temperatura supera el límite máximo medible de 125°C, el sensor puede devolver cero o un error, indicando que no puede leer el valor.
Ten en cuenta los errores de cableado, como conexiones invertidas o entradas flotantes, que pueden llevar a lecturas incorrectas. Siguiendo los pasos descritos en este tutorial, deberías poder implementar con éxito los sensores HTU21DF y monitorear sus lecturas de manera efectiva.
Tiempos de video
- 00:00- Introducción
- 01:30- Explicación del cableado
- 02:45- Explicación del código
- 12:30- Demostración con pistola de calor
- 14:00- Conclusión
Este tutorial es parte de: Sensor digital de humedad relativa y temperatura HTU21D
- Lección 35-1: Uso del sensor de temperatura HTU21D
- Lección 35-2: Uso del sensor de temperatura HTU21D - Código personalizado
- Lección 35: Uso del sensor de temperatura HTU21D con Arduino
- Lección 36: Uso del sensor de temperatura HTU21D con un LCD Curso paso a paso de Arduino
- Mostrando la temperatura de un HTU21D en un LCD
- Mostrando la temperatura de un HTU21D como un gráfico de barras en un LCD
- Cómo usar el sensor de humedad y temperatura HTU21DF con Arduino (Código básico)
- Cómo utilizar el sensor de humedad y temperatura HTU21DF con Arduino (código personalizado)
Cosas que podrías necesitar
-
Amazonas
-
eBayCompra HTU21D en eBayebay.us
-
AliExpressCompra HTU21D o SHT21 en AliExpresss.click.aliexpress.com
Recursos y referencias
-
ExternoBiblioteca Adafruit HTU21D (GitHub)github.com
Archivos📁
Hoja de datos (pdf)
-
HTU21D_temerature_humidity_datasheet
HTU21D_temerature_humidity_datasheet.pdf0.96 MB