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.
Cómo usar el sensor de humedad y temperatura HTU21DF con Arduino (Código básico)
En este tutorial, aprenderemos a usar el sensor de temperatura y humedad relativa HTU21DF con un Arduino. Este sensor 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 y mostrarlos en el Monitor Serial de Arduino. Para una aclaración adicional, asegúrate de revisar el video en (en el video a :00).
Hardware Explicado
El sensor HTU21DF es un sensor digital de humedad y temperatura que se comunica utilizando el protocolo I2C. Puede medir temperaturas que varían de -40°C a +125°C y la humedad relativa del 0% al 100%. El sensor funciona con un voltaje de alimentación de 3.3V, lo que lo hace adecuado para aplicaciones alimentadas por batería.
Dos pines son esenciales para la comunicación: SDA (línea de datos) y SCL (línea de reloj). El sensor también tiene un modo de bajo consumo, consumiendo solo 0.04 µA cuando está inactivo y aproximadamente 400 µA durante las mediciones. Esta característica lo hace particularmente útil en proyectos sensibles a la energía.
Detalles de la hoja de datos
| Fabricante | TE Connectivity (anteriormente MEAS) |
|---|---|
| Número de parte | HTU21DF |
| Voltaje de lógica/IO | 3.3 V |
| Tensión de alimentación | 1.5 - 3.6 V |
| Consumo de corriente en reposo | 0.04 µA |
| Medición del consumo actual | 400 µA |
| Rango de temperatura | -40 a +125 °C |
| Rango de humedad | 0 a 100 % |
| Resolución | 0.04 % (humedad), 0.01 °C (temperatura) |
| Paquete | LGA de 6 pines |
- Asegúrate de realizar las conexiones adecuadas para evitar daños.
- Mantenga la fuente de alimentación dentro de los límites de voltaje especificados (1.5 a 3.6 V).
- Utiliza resistencias de pull-up en las líneas SDA y SCL si es necesario.
- Ten cuidado con la polaridad invertida al conectar la alimentación.
- Permita que el sensor tenga tiempo para estabilizarse después de encenderlo.
Instrucciones de cableado
Para conectar el sensor HTU21DF al Arduino, sigue estos pasos:
Primero, conecta el pin izquierdo del sensor a la fuente de 3.3V del Arduino. El segundo pin, que normalmente está marcado en rojo, debe conectarse a la tierra (GND). A continuación, conecta el pin SDA del sensor al pin.A4en el Arduino, y conecta el pin SCL al pinA5Esta configuración permitirá que el Arduino se comunique con el sensor utilizando el protocolo I2C.
Asegúrate de que todas las conexiones estén seguras para evitar problemas de comunicación. Si estás utilizando una placa de pruebas, verifica nuevamente el cableado para mantener conexiones adecuadas. En el video, se discuten métodos de cableado alternativos (en el video a :30).
Ejemplos de código y guía paso a paso
A continuación se presenta una breve descripción del código utilizado para interactuar con el sensor HTU21DF. Primero, se incluyen las bibliotecas necesarias:
#include
#include "Adafruit_HTU21DF.h" Este código inicializa la comunicación I2C y crea una instancia del sensor HTU21DF comohtu.
A continuación, configuramos la comunicación en serie en elsetup()función:
void setup() {
Serial.begin(9600);
if (!htu.begin()) {
Serial.println("Couldn't find sensor!");
while (1);
}
}Aquí, se inicializa el sensor y, si no logra conectarse, se imprime un mensaje y el programa se detiene.
En elloop()función, leemos los valores de temperatura y humedad:
void loop() {
float temp = htu.readTemperature();
float rel_hum = htu.readHumidity();
Serial.print("Temp: "); Serial.print(temp); Serial.print(" C");
Serial.print("\t\t");
Serial.print("Humidity: "); Serial.print(rel_hum); Serial.println(" %");
delay(500);
}La temperatura se almacena en la variabletemp, y la humedad relativa se almacena enrel_humEstos valores se imprimen en el Monitor Serial cada 500 milisegundos, lo que te permite observar cambios en tiempo real.
Para el código completo, por favor consulta el programa completo cargado debajo del artículo.
Demostración / Qué Esperar
Una vez que todo esté conectado y se haya cargado el código, abre el Monitor Serial para ver las lecturas de temperatura y humedad. Deberías ver los valores actualizarse cada medio segundo. Si aplicas calor al sensor usando una pistola de calor, notarás que las lecturas de temperatura aumentan mientras que las lecturas de humedad disminuyen (en el video a las 05:00).
Ten en cuenta que si la temperatura supera el límite máximo de 125 °C, las lecturas pueden volverse inexactas o reiniciarse. Es esencial mantener el sensor dentro de su rango de operación especificado para garantizar mediciones precisas.
Marcas de tiempo del video
- 00:00- Introducción
- 01:30- Instrucciones de cableado
- 05:00- Demostració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
- 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 utilizar el sensor de humedad y temperatura HTU21DF con Arduino (código personalizado)
/***************************************************
This is an example for the HTU21D-F Humidity & Temperature Sensor
Designed specifically to work with the HTU21D-F sensor from Adafruit
----> https://www.adafruit.com/products/1899
This module uses I2C to communicate; 2 pins are required to
interface
****************************************************/
#include <Wire.h>
#include "Adafruit_HTU21DF.h"
// Connect Vin to 3-5VDC
// Connect GND to ground
// Connect SCL to I2C clock pin (A5 on UNO)
// Connect SDA to I2C data pin (A4 on UNO)
Adafruit_HTU21DF htu = Adafruit_HTU21DF();
void setup() {
Serial.begin(9600);
Serial.println("HTU21D-F test");
if (!htu.begin()) {
Serial.println("Couldn't find sensor!");
while (1);
}
}
void loop() {
float temp = htu.readTemperature();
float rel_hum = htu.readHumidity();
Serial.print("Temp: "); Serial.print(temp); Serial.print(" C");
Serial.print("\t\t");
Serial.print("Humidity: "); Serial.print(rel_hum); Serial.println(" %");
delay(500);
}
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_ficha_técnica_de_temperatura_y_humedad
HTU21D_temerature_humidity_datasheet.pdf0.96 MB