Tutorial Arduino: Sensor DHT11 con LCD I2C y LEDs de Alerta Deja un comentario

Tutorial Arduino: Sensor DHT11 con Pantalla LCD I2C y LEDs de Alerta

En este proyecto aprenderemos a medir temperatura y humedad utilizando un sensor DHT11, mostrar los valores en una pantalla LCD 16×2 con interfaz I2C, y encender luces LED que indican si la temperatura supera un umbral establecido.
Este ejercicio es perfecto para quienes quieren iniciar en el uso de sensores ambientales con Arduino.


Materiales necesarios

  • Arduino UNO/Nano/Mega (o compatible)
  • Sensor DHT11 de temperatura y humedad
  • Protoshield para Arduino UNO (con o sin mini protoboard)
  • Pantalla LCD 16×2 con módulo I2C
  • LED Rojo (indica temperatura baja)
  • LED Verde (indica temperatura alta)
  • Cables Dupont macho/hembra
  • Protoboard

Sensor DHT11

librería para usar con Arduino

DHT11-Sensor-Library

Adafruit_Unified_Sensor_library

LCD 16×2

Modulo I2C para el LCD

El módulo I2C es una pequeña placa que se monta en la parte posterior de la pantalla LCD y utiliza el protocolo I2C (Inter-Integrated Circuit) para comunicarse con Arduino.
Su función principal es reducir el número de pines necesarios para controlar la pantalla.

Librería Para Control I2C con Arduino

LiquidCrystal_I2C

Pines del Módulo I2C

Pin I2CDescripciónConexión Arduino (UNO)
GNDTierraGND
VCCAlimentación (5V)5V
SDADatos serialesA4
SCLReloj serialA5

Ventaja: gracias al I2C, podemos usar más sensores o dispositivos en el mismo bus sin gastar pines extra.

Uso del Protoshield

Protoshield SYB-170.

El protoshield es una placa que se coloca sobre el Arduino UNO y permite:

  • Soldar componentes si se desea un montaje permanente.
  • Usar una mini protoboard para realizar pruebas rápidas sin soldadura.
  • Organizar el cableado, ya que replica las líneas de pines de Arduino en una superficie más accesible.

Gracias al protoshield, el sensor DHT11, el módulo I2C y los LEDs pueden conectarse de manera más compacta y ordenada, ideal para proyectos de laboratorio o prototipos.


Conexiones del circuito

A continuación, se muestran las conexiones recomendadas:

ComponentePin Arduino
DHT11 Señal11
DHT11 VCC3V
DHT11 GNDGND
LCD I2C SDAA4
LCD I2C SCLA5
LED Rojo (-)12
LED Verde (-)13
LEDs GND (+)a 3V de la Placa

Nota: Si tu LCD no funciona en la dirección 0x27, prueba con 0x3F.

Sketch para Arduino IDE

Explicación del código

  1. Librerías
    • Wire.h: habilita la comunicación I2C.
    • LiquidCrystal_I2C.h: controla la pantalla mediante el módulo I2C.
    • DHT.h: gestiona las lecturas de temperatura y humedad.
  2. Configuración de pines
    • Se definen los pines del DHT11, los LEDs y el umbral de temperatura (TEMP_THRESHOLD).
  3. Inicialización
    • Se inicia la pantalla (lcd.init()), se enciende su luz de fondo y se prepara el sensor (dht.begin()).
  4. Lectura de datos
    • dht.readTemperature() y dht.readHumidity() obtienen las mediciones.
    • isnan() valida que los datos sean correctos.
  5. Visualización en la LCD
    • Se muestran temperatura y humedad en las dos líneas de la pantalla.
    • (char)223 agrega el símbolo de grados (°).
  6. Control de LEDs
    • Si la temperatura es mayor a 30 °C, el LED rojo se enciende.
    • Si es menor o igual, se enciende el LED verde.
    • usamos lógica invertida para controlar los LEDs y así poder usarlos con 3V de la Placa y no usar resistores.

Deja una respuesta