• Testers League
  • Comparativas
  • Casos de éxito
  • Arduino
  • Guía de compras
    • Impresoras 3D
  • Tienda
  • Testers League
  • Comparativas
  • Casos de éxito
  • Arduino
  • Guía de compras
    • Impresoras 3D
  • Tienda

Proyecto Arduino: Estación Meteorológica Desde Cero

TP3D
agosto 23, 2024
0

Imaginá tener una estación meteorológica en tu casa que te permita medir la temperatura y la humedad en tiempo real, tanto adentro como afuera de tu hogar. Con este proyecto, vas a poder lograrlo.

Vas a poder crear una estación meteorológica que no solo te muestra estos datos en una pantalla LCD, sino que también puede funcionar de manera inalámbrica gracias a la alimentación por baterías. Además, al implementar el modo sleep en el Arduino, vas a poder extender significativamente la duración de las baterías, haciendo que tu estación sea más eficiente y sostenible.

¡Empecemos!

Materiales Necesarios:

  • Arduino UNO (u otro compatible)
  • Sensor de Temperatura y Humedad DHT22 (o DHT11 si es tu caso)
  • Pantalla LCD 16×2 (con o sin módulo I2C)
  • Resistencias y cables de conexión
  • Protoboard
¡Conseguí los materiales!

Paso 1: Conexiones del Hardware

Sensor DHT22:

  • VCC: Conectar al pin de 5V del Arduino.
  • GND: Conectar al pin de GND del Arduino.
  • DATA: Conectar a un pin digital del Arduino (por ejemplo, el pin 2).

Pantalla LCD (con módulo I2C):

  • VCC: Conectar al pin de 5V del Arduino.
  • GND: Conectar al pin de GND del Arduino.
  • SDA: Conectar al pin A4 del Arduino.
  • SCL: Conectar al pin A5 del Arduino.

Si no tenés un módulo I2C para la pantalla LCD, vas a tener que conectar cada pin del LCD al Arduino manualmente y modificar el código en consecuencia.

Paso 2: Instalación de Librerías

Asegúrate de tener instaladas las siguientes librerías en tu Arduino IDE:

  • DHT.h: Para gestionar el sensor de temperatura y humedad.
  • LiquidCrystal.h: Para manejar la pantalla LCD.
  • Podés instalar estas librerías desde el Gestor de Librerías del Arduino IDE.

Paso 3: Código Arduino

// Incluir las librerías

#include <LiquidCrystal.h>   // Librería para la pantalla LCD

#include <DHT.h>             // Librería para el sensor DHT

// Definir el pin y el tipo de sensor DHT

#define DHTPin 2             // Pin digital al que está conectado el DHT22

#define DHTType DHT22        // Cambia a DHT11 si es el sensor que estás utilizando

// Crear objetos para el sensor DHT y la pantalla LCD

DHT dht(DHTPin, DHTType);

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Configura según tus conexiones

void setup() {

  // Inicializar la pantalla LCD

  lcd.begin(16, 2);           // Inicia la pantalla LCD con 16 columnas y 2 filas

  // Inicializar el sensor DHT

  dht.begin();                // Inicializa el sensor DHT

}

void loop() {

  // Leer la humedad y la temperatura

  float humedad = dht.readHumidity();

  float temperatura = dht.readTemperature();

  // Comprobar si los valores son válidos o NaN (Not a Number)

  if (isnan(humedad) || isnan(temperatura)) {

    lcd.clear();              // Limpiar la pantalla LCD

    lcd.setCursor(0, 0);      // Colocar el cursor en la primera columna, primera fila

    lcd.print(“DHT Error”);   // Mostrar mensaje de error

  } else {

    // Mostrar la temperatura y la humedad en la pantalla LCD

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print(“Temp: “);

    lcd.print(temperatura);

    lcd.print(” C”);

    lcd.setCursor(0, 1);

    lcd.print(“Hum: “);

    lcd.print(humedad);

    lcd.print(” %”);

  }

  delay(10000); // Esperar 10 segundos antes de volver a medir

}

Paso 4: Explicación del Código

  1. Incluir Librerías: Se incluyen las librerías necesarias para manejar el sensor DHT y la pantalla LCD.
  2. Definir Sensor y Pines: Se define el tipo de sensor y el pin al que está conectado.
  3. Objetos para Sensor y Pantalla: Se crean objetos para poder utilizar los métodos del sensor y la pantalla.
  4. Función setup(): Inicializa la pantalla LCD y el sensor.
  5. Función loop():
  • Se leen los valores de temperatura y humedad.
  • Se verifica si los valores leídos son válidos. En caso de error, se muestra un mensaje en la pantalla.
  • Si los valores son correctos, se muestran en la pantalla.
  • Finalmente, se espera 10 segundos antes de la siguiente medición.

Paso 5: Subir el Código al Arduino

Conecta tu Arduino a la computadora, selecciona el puerto correspondiente en el IDE de Arduino y carga el código.

Paso 6: Pruebas y Ajustes

Con el código cargado, deberías ver la temperatura y la humedad en la pantalla LCD. Si querés ajustar el tiempo entre mediciones, modificá el valor en delay(10000).

Si tenés alguna duda o problema con algún paso, estamos para ayudarte.

¡Escribinos!

Un Extra: Estación Meteorológica Inalámbrica con Arduino

Objetivo: Alimentar la estación meteorológica con baterías y extender la duración de la batería utilizando el modo sleep (sueño) de Arduino.

Materiales Adicionales:

  • Batería Recargable (como una batería LiPo)
  • Módulo de Carga de Batería (por ejemplo, TP4056)
  • Convertidor DC-DC (si es necesario para adaptar el voltaje)
  • Arduino Pro Mini (opcional, para mayor eficiencia energética)
  • Librería LowPower.h (instalar desde el Gestor de Librerías del Arduino IDE)

Paso 1: Conexión de la Batería

  1. Conectar la batería al módulo de carga TP4056: La salida del módulo se conectará al Arduino, mientras que la entrada puede conectarse a un panel solar o un puerto USB para recargar la batería.
  2. Convertidor DC-DC: Si estás usando un Arduino que no es de 3.3V, puede que necesites un convertidor para adaptar el voltaje de la batería al que necesita el Arduino.

Paso 2: Implementar el Modo Sleep en el Código

Para ahorrar energía, vamos a usar la función LowPower.powerDown() que apaga varios componentes internos de Arduino durante un tiempo determinado

#include <LiquidCrystal.h>   // Librería para la pantalla LCD

#include <DHT.h>             // Librería para el sensor DHT

#include <LowPower.h>        // Librería para el modo sleep

#define DHTPin 2             // Pin digital al que está conectado el DHT22

#define DHTType DHT22        // Cambia a DHT11 si es el sensor que estás utilizando

DHT dht(DHTPin, DHTType);

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {

  lcd.begin(16, 2);           // Inicia la pantalla LCD con 16 columnas y 2 filas

  dht.begin();                // Inicializa el sensor DHT

}

void loop() {

  float humedad = dht.readHumidity();

  float temperatura = dht.readTemperature();

  if (isnan(humedad) || isnan(temperatura)) {

    lcd.clear();              // Limpiar la pantalla LCD

    lcd.setCursor(0, 0);      // Colocar el cursor en la primera columna, primera fila

    lcd.print(“DHT Error”);   // Mostrar mensaje de error

  } else {

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print(“Temp: “);

    lcd.print(temperatura);

    lcd.print(” C”);

    

    lcd.setCursor(0, 1);

    lcd.print(“Hum: “);

    lcd.print(humedad);

    lcd.print(” %”);

  }

  // Poner el Arduino en modo sleep durante 4 minutos

  for (int i = 0; i < 30; i++) {

    LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); // Sleep por 8 segundos

  }

}

¿Qué vas a poder hacer?

  • Medir la Temperatura y Humedad: Obtené datos precisos del clima en cualquier momento, ideales para conocer las condiciones de tu jardín, invernadero o cualquier espacio.
  • Pantalla LCD para Visualización: Los datos se mostrarán de manera clara y directa en una pantalla LCD, lo que facilita su lectura.
  • Alimentación Inalámbrica: Con baterías recargables, vas a poder instalar la estación en cualquier lugar, sin depender de enchufes.
  • Eficiencia Energética con Modo Sleep: Aumenta la duración de la batería utilizando el modo sleep del Arduino, midiendo los datos en intervalos programados.

Ejemplos de Aplicación:

  • En el Jardín: Monitorea las condiciones climáticas de tus plantas para un crecimiento óptimo.
  • Invernaderos: Mantené un control constante de la temperatura y humedad, cruciales para el cultivo.
  • Hogar: Coloca la estación en interiores para conocer las condiciones de tu hogar y ajustar el ambiente según tus necesidades.

Encontrá en nuestra web todo lo que buscás para tus proyectos, desde componentes hasta kits completos. ¡Conseguí lo necesario para transformar tus ideas en realidad!

TP3D

No te pierdas nuestras próximas notas, donde vamos a presentar otros proyectos Arduino innovadores. ¡Seguí nuestras publicaciones y descubrí nuevas ideas cada semana!

Hasta la próxima.

blogger Image

TP3D

Related Posts

Proyecto arduino: Válvula Eléctrica para Cultivo

Read More

Proyecto Arduino: Juego Memotécnico con Keypad

Read More

Proyecto Arduino: Reloj y Termómetro Digital

Read More

Add your comment

Cancel Reply

Categorías

  • Casos de éxito
  • Nuevos productos
  • Odontología
  • Moda
  • Joyería

IMPRESORAS

  • Hellbot
  • Creality

Suscribite

Dejanos tu e-mail y recibí nuestras novedades

Twitter Facebook Dribbble Youtube Pinterest Medium
Facebook Twitter Youtube Instagram

© 2023 TP3D

×