Lección 35-2: Uso del sensor de temperatura HTU21D - Código personalizado

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.

HTU21D module

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

FabricanteTE Connectivity
Número de parteHTU21D-F
Voltaje de lógica/E/S1.5 - 3.6 V
Tensión de alimentación3.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 humedad0 a 100 %HR
Resolución0.04 %HR; 0.01 °C
PaqueteDFN 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

Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor

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

Imágenes

Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor
HTU21D module
HTU21D module
HTU21D module-back
HTU21D module-back
513-Lesson 35: Using HTU21D Temperature Sensor | Arduino Step-by-Step Course
Idioma: C++
¡Copiado!

Cosas que podrías necesitar

Archivos📁

Hoja de datos (pdf)