Lección 35: Uso del sensor de temperatura HTU21D con Arduino

Lección 35: Uso del sensor de temperatura HTU21D con Arduino

Este proyecto te guía en el uso de un Arduino para leer datos de temperatura y humedad de un sensor HTU21D-F. Este sensor es económico y está ampliamente disponible, lo que lo hace perfecto para una variedad de proyectos. El sensor envía datos mediante I2C, un protocolo de comunicación digital común. Aprender a usar este sensor y I2C abrirá muchas posibilidades para tus proyectos.

HTU21D module

Aplicaciones prácticas:

  • Construyendo un monitor ambiental para el hogar inteligente
  • Creando una estación meteorológica
  • Desarrollo de un recinto climatizado para equipos electrónicos sensibles
  • Monitoreo de la temperatura y la humedad en un invernadero o terrario

Hardware/Componentes

Necesitará los siguientes componentes:

  • Placa Arduino (por ejemplo, Uno, Nano)
  • Sensor de temperatura y humedad HTU21D-F (en el video a las 00:22)
  • Cables de conexión
  • Protoboard (opcional, pero recomendable)

Guía de cableado

El cableado es sencillo. Conecta el sensor al Arduino de la siguiente manera (en el video a las 02:28):

  • VCC del sensor al Arduino 3.3V
  • GND del sensor al GND del Arduino
  • SDA del sensor al A4 del Arduino
  • SCL del sensor al Arduino A5

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

Explicación del código

El código proporcionado utiliza la biblioteca Adafruit HTU21D-F (en el video en 03:03) para interactuar con el sensor. Las partes clave son:


// These are the lines that you can configure:
const int inPin =A0;//can change
const int iteration = 1000; //can change (see video at 00:22)
const float LM35_FACTOR =0.01;// do not change

inPin: Especifica el pin analógico conectado al sensor de temperatura. Puedes cambiarlo para adaptarlo a tu cableado.

iteration: Esta variable controla el número de lecturas tomadas para promediar la temperatura. Incrementarla mejora la precisión pero ralentiza las lecturas (en el video a las 00:22).

ElgetHTU()La función (en el video a las 08:46) te permite obtener la temperatura en Celsius, Fahrenheit o Kelvin, o la humedad, pasando un carácter ('C', 'F', 'K' o 'H') como argumento. Luego el código usa esta función para mostrar los datos en el monitor serie.


float getTemperature(char type) {
  // ... (code to read temperature and humidity) ...
  if (type == 'F') {
    value = averageTemperature * 9 / 5 + 32; // Fahrenheit
  } else if (type == 'K') {
    value = averageTemperature + 273.15; // Kelvin
  } else {
    value = averageTemperature; // Celsius
  }
  return value;
}

Proyecto/Demostración en vivo

El video demuestra la funcionalidad del sensor (en el video en 07:34). El monitor serial muestra las lecturas de temperatura y humedad. El presentador también muestra cómo el código puede desencadenar acciones basadas en umbrales de temperatura (en el video en 06:45).

Capítulos

  • [00:00] Introducción
  • [00:22] Descripción general del sensor
  • [01:22] Revisión de la hoja de datos
  • [02:28] Cableado
  • [03:03] Instalación de la biblioteca
  • [04:05] Explicación del código (Parte 1)
  • [08:33] Explicación del código (Parte 2)
  • [07:34] Demostración en vivo

Imágenes

thumb_robojax_HTU21DF_types-1756423961-8524
thumb_robojax_HTU21DF_types-1756423961-8524
Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor
HTU21D module
HTU21D module
HTU21D module-back
HTU21D module-back
503-Lesson 42: Using an LM35 Temperature Sensor with Arduino
Idioma: C++
¡Copiado!

Cosas que podrías necesitar

Recursos y referencias

Archivos📁

Otros archivos