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.
Lección 35-2: Uso del sensor de temperatura HTU21D - Código personalizado
En este tutorial, exploraremos cómo usar el sensor de temperatura HTU21D con Arduino para medir la temperatura y la humedad. El HTU21D es un sensor confiable y de bajo consumo que se comunica a través de I2C, lo que facilita su integración en tus proyectos. Al final de esta lección, tendrás un código funcional que lee la temperatura en Celsius, Fahrenheit y Kelvin, así como la humedad relativa.

Antes de sumergirnos en el cableado y el código, es esencial entender los componentes involucrados. El sensor HTU21D requiere conexiones mínimas: alimentación, tierra y dos cables I2C para la transferencia de datos. Esta simplicidad lo convierte en una excelente opción para diversas aplicaciones, desde estaciones meteorológicas hasta dispositivos para el hogar inteligente. Para una guía visual, consulta el video en la marca de tiempo :45.
Hardware Explicado
El componente principal de este proyecto es el sensor HTU21D, que mide la temperatura y la humedad. Este sensor puede operar con voltajes de 1.5V a 3.6V, lo que lo hace versátil para diferentes aplicaciones. Proporciona lecturas de alta resolución, con mediciones de temperatura que oscilan entre -40°C y +125°C y lecturas de humedad con una resolución de 0.04%.
Además, el sensor utiliza comunicación I2C, que requiere dos pines: SDA (línea de datos) y SCL (línea de reloj). Esto permite una integración fácil con Arduino y otros microcontroladores sin necesidad de cableado complejo. La biblioteca de Adafruit simplifica la interacción con el sensor, gestionando la recuperación de datos y los protocolos de comunicación sin problemas.
Detalles de la hoja de datos
| Fabricante | TE Connectivity |
|---|---|
| Número de parte | HTU21D-F |
| Voltaje de lógica/E/S | 1.5 - 3.6 V |
| Tensión de alimentación | 3.3 V |
| Consumo actual (en reposo) | 0.02 µA (típ.) |
| Consumo actual (activo) | 450 µA (típ.) |
| Rango de temperatura | -40 a +125 °C |
| Rango de humedad | 0 a 100 %HR |
| Resolución | 0.04 %HR; 0.01 °C |
| Paquete | DFN de 6 pines |
- Asegúrese de proporcionar la fuente de alimentación correcta para evitar daños en el sensor.
- Utiliza resistencias de pull-up en las líneas SDA y SCL si no están integradas.
- Mantenga las conexiones del sensor cortas para minimizar el ruido.
- Monitore la tensión durante el funcionamiento para mantener la estabilidad.
- Considere usar un condensador para desacoplar cerca de los pines de alimentación.
Instrucciones de cableado

Para cablear el sensor de temperatura HTU21D, comience conectando la alimentación y la tierra. Conecte el pin izquierdo del sensor a una fuente de 3.3V, asegurándose de que pueda manejar el voltaje requerido. El segundo pin, típicamente marcado en rojo, debe ir a tierra.
A continuación, conecta el pin SDA del sensor al pinA4en el Arduino, que sirve como la línea de datos para la comunicación I2C. Luego, conecta el pin SCL al pinA5, que actúa como la línea del reloj. Asegúrate de que estas conexiones estén seguras, ya que los cables sueltos pueden provocar lecturas intermitentes o fallos en la comunicación con el sensor.
Ejemplos de código y guía paso a paso
En el código, comenzamos incluyendo las bibliotecas necesarias e inicializando el sensor. La líneaAdafruit_HTU21DF htu = Adafruit_HTU21DF();crea una instancia de la clase sensor. En elsetup()función, comenzamos la comunicación serial y verificamos si el sensor está conectado correctamente.
void setup() {
Serial.begin(9600);
if (!htu.begin()) {
Serial.println("Couldn't find sensor!");
while (1);
}
}Este fragmento verifica si el sensor está funcionando correctamente. Si no, imprime un mensaje de error y detiene el programa. En elloop()función, leemos los valores de temperatura y humedad de forma continua.
void loop() {
Serial.print(getHTU('C'));
Serial.print("C");
Serial.print(getHTU('H'));
Serial.println("%");
delay(1000);
}Aquí, la funcióngetHTU()se llama con diferentes parámetros para recuperar la temperatura en Celsius y la humedad. El retraso asegura que las lecturas se tomen cada segundo, proporcionando una salida suave en el monitor serial. El código completo está disponible para referencia debajo del artículo.
Demostración / Qué Esperar
Una vez que todo esté cableado correctamente y el código haya sido cargado, deberías ver las lecturas de temperatura y humedad impresas en el monitor serie. La temperatura se mostrará en Celsius, seguida del porcentaje de humedad correspondiente. Si aplicas calor al sensor, deberías observar que la temperatura aumenta en consecuencia (en el video a las 10:15).
Tenga cuidado con los límites del sensor; si la temperatura excede los 125 °C, puede devolver una lectura incorrecta o mostrar cero. Asegúrese siempre de que sus conexiones estén seguras y de que el sensor esté alimentado correctamente para evitar problemas durante la operación.
Marcas de tiempo del video
- 00:00Introducción
- 03:45Cableando el sensor
- 05:30Revisión de código
- 10:15Demostración
- 12:00Conclusió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: 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
- Uso de dos sensores de humedad y temperatura HTU21DF más con 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
-
ExternoDiferencia entre HTU21DF y HTU21D (imagen)robojax.com
-
ExternoHTU21D Hoja de Datos (PDF)cdn-shop.adafruit.com
Archivos📁
Hoja de datos (pdf)
-
HTU21D_temerature_humidity_datasheet
HTU21D_temerature_humidity_datasheet.pdf0.96 MB