La combinación de Arduino con sensores de temperatura y humedad ofrece una manera efectiva de monitorear y visualizar datos ambientales en tiempo real. En este tutorial, te guiaremos a través de la creación de un sensor de temperatura y humedad utilizando un sensor DHT11 o DHT22 y cómo mostrar los datos en dos display LED de 7 segmentos de 3 dígitos, uno para la temperatura y otro para la humedad. Este proyecto es perfecto para principiantes y proporciona una introducción emocionante a la electrónica y la programación con Arduino.
Materiales Necesarios
Antes de comenzar, asegúrate de tener los siguientes materiales a mano (click en cada uno para ver el producto en Amazon):
- Arduino (cualquier modelo compatible).
- Sensor de temperatura y humedad DHT11 o DHT22.
- Dos display LED de 7 segmentos de 3 dígitos (común ánodo o común cátodo, dependiendo del modelo).
- Resistencias de 220 ohmios (para limitar la corriente en los display LED).
- Cables de conexión.
- Protoboard o placa de pruebas.
- Fuente de alimentación USB para el Arduino.
- Una computadora con el software Arduino IDE instalado.
O también puedes adquirir un Kit de inicio Arduino, que contenga todos estos componentes, entre los mostrados a continuación:
Paso 1: Conexión del Sensor DHT
Comienza conectando el sensor DHT a tu Arduino. Por lo general, el sensor DHT tiene tres pines: VCC (alimentación), DAT (datos) y GND (tierra). Conéctalos de la siguiente manera:
- VCC del sensor DHT a 5V del Arduino.
- DAT del sensor DHT al pin digital 2 del Arduino.
- GND del sensor DHT a GND del Arduino.
Paso 2: Conexión de los Displays LED de 7 Segmentos
Conectar dos displays LED de 7 segmentos de 3 dígitos al Arduino es un proceso importante en este proyecto. Asegúrate de seguir estos pasos:
- Identifica los Pines de los Displays: Primero, identifica los pines en los display LED de 7 segmentos de 3 dígitos. Dependiendo del modelo (común ánodo o común cátodo), los pines pueden variar. Consulta la hoja de datos del display o la documentación del fabricante para confirmar la disposición de pines.
- Conexión a Arduino: Usaremos un display LED para la temperatura y otro para la humedad. Conéctalos de la siguiente manera:
- Conecta el pin de cátodo común (común ánodo o común cátodo, dependiendo del modelo) del primer display al GND del Arduino.
- Conecta el pin de cátodo común del segundo display al GND del Arduino.
- Conecta los pines de ánodo de los dígitos de cada display a pines digitales del Arduino, como el pin 2, 3 y 4 para un display y el pin 5, 6 y 7 para el otro.
- Conecta los pines de segmentos «a», «b», «c», «d», «e», «f» y «g» de ambos displays a pines digitales del Arduino según corresponda.
- Resistencias: Coloca una resistencia de 220 ohmios en serie con cada pin de segmento de los displays LED (pines «a» a «g») para limitar la corriente.
Paso 3: Código Arduino
A continuación, te presentamos el código Arduino para leer los datos del sensor DHT y mostrar la temperatura en un display y la humedad en el otro display LED de 7 segmentos de 3 dígitos. Asegúrate de haber instalado las bibliotecas necesarias («DHT.h» y «SevSeg.h») antes de cargar el programa en tu Arduino. El código realiza la lectura del sensor, convierte los datos y muestra la información en los displays.
#include <DHT.h>
#include <SevSeg.h>
#define DHTPIN 2 // Pin de datos del sensor DHT
#define DHTTYPE DHT11 // Tipo de sensor DHT (DHT11 o DHT22)
DHT dht(DHTPIN, DHTTYPE);
SevSeg tempDisplay; // Inicializa el objeto SevSeg para la temperatura
SevSeg humDisplay; // Inicializa el objeto SevSeg para la humedad
void setup() {
dht.begin();
// Mapeo de los pines del display de temperatura realizado en la protoboard
tempDisplay.begin(COMMON_ANODE, 3, 2, 1, 4, 5, 6, 7, 8, 9);
tempDisplay.setBrightness(90); // Ajusta el brillo del display de temperatura
// Mapeo de los pines del display de humedad realizado en la protoboard
humDisplay.begin(COMMON_ANODE, 12, 11, 10, 13, 14, 15, 16, 17, 18);
humDisplay.setBrightness(90); // Ajusta el brillo del display de humedad
}
void loop() {
float tempC = dht.readTemperature();
float humidity = dht.readHumidity();
// Muestra la temperatura en el display
int temp = int(tempC); // Convierte la temperatura a entero
tempDisplay.setNumber(temp, 1);
tempDisplay.refreshDisplay();
// Muestra la humedad en el display
int hum = int(humidity); // Convierte la humedad a entero
humDisplay.setNumber(hum, 1);
humDisplay.refreshDisplay();
delay(5000); // Espera 5 segundos
}
Paso 4: Prueba y Ajustes
Carga el programa en tu Arduino y asegúrate de que todo esté funcionando correctamente. Observa la temperatura y la humedad mostradas en los displays LED de 7 segmentos de 3 dígitos. Puedes ajustar el código para mostrar los valores en el formato que prefieras, incluso mostrar un decimal en la temperatura, o agregar características adicionales, como la conversión de unidades o la calibración del sensor.
Con este proyecto, has creado un sensor de temperatura y humedad con Arduino y has aprendido a visualizar los datos en dos displays LED de 7 segmentos de 3 dígitos, uno para la temperatura y otro para la humedad. Esta es solo una de las muchas aplicaciones que puedes explorar con Arduino, sensores y dispositivos de visualización. ¡Diviértete experimentando y expandiendo tus habilidades en electrónica y programación!

