• 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 con Riego Automático

TP3D
octubre 15, 2024
2

Con el siguiente proyecto vas a poder desarrollar un sistema que:

  • Mida y muestre la temperatura y la humedad.
  • Controle el riego de las plantas según la humedad del suelo.

Materiales Necesarios:

  • Arduino Uno (u otro compatible)
  • Sensor de temperatura y humedad: DHT11 o DHT22
  • Bomba de agua (o un relé para controlar el riego)
  • Pantalla LCD 16×2 (con o sin módulo I2C)
  • Protoboard y cables de conexión
¡Conseguí los materiales!

Paso 1: Conexiones de Hardware

Sensor DHT11/DHT22:

  • VCC -> 5V del Arduino
  • GND -> GND del Arduino
  • DATA -> Pin digital (ej. Pin 2)

Bomba de Agua:

  • Conectá un relé al pin digital 10 (o el que elijas) y controlá la bomba.

Pantalla LCD (con módulo I2C):

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

Paso 2: Código Arduino

Código Arduino

#include <DHT.h>

#include <Wire.h> // Para la comunicación con la pantalla LCD

#include <LiquidCrystal_I2C.h>

#define DHTPIN 2          // Pin donde está conectado el DHT

#define PUMP_PIN 10       // Pin donde está conectado el relé de la bomba

DHT dht(DHTPIN, DHT22);

LiquidCrystal_I2C lcd(0x27, 16, 2); // Dirección I2C de la LCD

void setup() {

  pinMode(PUMP_PIN, OUTPUT);

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

  dht.begin();

}

void loop() {

  // Lectura de Temperatura y Humedad

  float h = dht.readHumidity();

  float t = dht.readTemperature();

  // Comprobación de errores en la lectura

  if (isnan(h) || isnan(t)) {

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print(“Error en DHT”);

    return; // Sale de la función loop si hay un error

  }

  // Mostrar información en la LCD

  lcd.clear(); // Limpia la pantalla

  lcd.setCursor(0, 0);

  lcd.print(“Temp: “); lcd.print(t); lcd.print(” C”);

  lcd.setCursor(0, 1);

  lcd.print(“Hum: “); lcd.print(h); lcd.print(“%”);

  // Control de la bomba de riego

  if (h < 30) { // Ajusta el umbral según tus necesidades

    digitalWrite(PUMP_PIN, HIGH); // Activa la bomba

    lcd.setCursor(0, 1);

    lcd.print(“Riego: ON  “);

  } else {

    digitalWrite(PUMP_PIN, LOW);  // Apaga la bomba

    lcd.setCursor(0, 1);

    lcd.print(“Riego: OFF “);

  }

  delay(2000); // Espera 2 segundos antes de la próxima lectura

}

Paso 3: Explicación del Código

  1. Incluir Librerías: Se incluyen las librerías necesarias para manejar los sensores y la pantalla LCD.
  2. Definir Pines: Se definen los pines para los sensores y la bomba.
  3. Función Setup: Se configuran los pines y se inician los sensores y la pantalla LCD.
  4. Función Loop:
    – Se leen los valores del sensor de humedad del suelo y se controla la bomba.
    – Se leen los datos de temperatura, humedad y presión, que se muestran en la pantalla LCD.

Paso 4: Subir el Código al Arduino

Conectá tu Arduino a la computadora, seleccioná el puerto correspondiente en el IDE de Arduino y cargá el código.

Paso 5: Pruebas y Ajustes

  • Verificá que la bomba se active y desactive según la humedad del suelo.
  • Asegurate de que la pantalla LCD muestre los valores de temperatura, humedad y presión.

Paso 6: Ejemplos de Aplicación

  • Jardín: Automatizá el riego en función de las condiciones ambientales.
    Invernadero: Monitoreá y controlá el ambiente para plantas sensibles.

Un Plus: Control de Luz Automático con Fotoresistencia

Objetivo del Proyecto

Crear un sistema que encienda una lámpara automáticamente cuando la luz ambiente caiga por debajo de un cierto umbral utilizando una fotoresistencia.

Materiales Necesarios

  • Arduino Uno (u otro compatible)
  • Fotoresistencia (LDR)
  • Resistencia de 10k ohmios (para el LDR)
  • Relé o módulo de control para la lámpara
  • Protoboard y cables de conexión
  • Lámpara (puede ser LED)
  • Pantalla LCD (opcional, para mostrar información)

Paso 1: Conexiones de Hardware

 

1. Fotoresistencia (LDR):

  • Conectá un terminal de la LDR al pin A0 (analógico) del Arduino.
  • Conectá el otro terminal a VCC (5V).
  • Colocá una resistencia de 10k ohmios entre el pin A0 y GND.

2. Relé:

  • Conectá el pin de control del relé (ej. pin 10) al Arduino.
  • Conectá la lámpara al relé según las instrucciones del fabricante (asegurate de seguir todas las normas de seguridad).

Paso 2: Código Arduino

Aquí tenés un ejemplo de código que integra la fotoresistencia y controla la lámpara:

Código Arduino

#include <DHT.h>

#include <Wire.h> // Para la comunicación con la pantalla LCD

#include <LiquidCrystal_I2C.h>

#define DHTPIN 2          // Pin donde está conectado el DHT

#define PUMP_PIN 10       // Pin donde está conectado el relé de la bomba

#define LDR_PIN A0        // Pin donde está conectado el LDR

DHT dht(DHTPIN, DHT22);

LiquidCrystal_I2C lcd(0x27, 16, 2); // Dirección I2C de la LCD

void setup() {

  pinMode(PUMP_PIN, OUTPUT);

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

  dht.begin();

}

void loop() {

  // Lectura de Temperatura y Humedad

  float h = dht.readHumidity();

  float t = dht.readTemperature();

 

  // Comprobación de errores en la lectura

  if (isnan(h) || isnan(t)) {

    lcd.clear();

    lcd.setCursor(0, 0);

    lcd.print(“Error en DHT”);

    return; // Sale de la función loop si hay un error

  }

  // Mostrar información en la LCD

  lcd.clear(); // Limpia la pantalla

  lcd.setCursor(0, 0);

  lcd.print(“Temp: “); lcd.print(t); lcd.print(” C”);

  lcd.setCursor(0, 1);

  lcd.print(“Hum: “); lcd.print(h); lcd.print(“%”);

  // Control de la lámpara con la fotoresistencia

  int ldrValue = analogRead(LDR_PIN); // Lee el valor del LDR

  if (ldrValue < 500) { // Ajusta el umbral según tu entorno

    digitalWrite(LAMP_PIN, HIGH); // Enciende la lámpara

    lcd.setCursor(0, 1);

    lcd.print(“Luz: ON “);

  } else {

    digitalWrite(LAMP_PIN, LOW);  // Apaga la lámpara

    lcd.setCursor(0, 1);

    lcd.print(“Luz: OFF”);

  }

  // Control de la bomba de riego

  if (h < 30) { // Ajusta el umbral según tus necesidades

    digitalWrite(PUMP_PIN, HIGH); // Activa la bomba

    lcd.setCursor(0, 1);

    lcd.print(“Riego: ON  “);

  } else {

    digitalWrite(PUMP_PIN, LOW);  // Apaga la bomba

    lcd.setCursor(0, 1);

    lcd.print(“Riego: OFF “);

  }

  delay(2000); // Espera 2 segundos antes de la próxima lectura

}

Explicación del Código Combinado

  1. Lectura de DHT22: Se mide la temperatura y la humedad. Si hay un error en la lectura, se muestra un mensaje en la pantalla.
  2. Control de Lámpara: Se lee el valor de la fotoresistencia. Si está por debajo de un umbral (ajustable), se enciende la lámpara.
  3. Control de Riego: Se controla la bomba de riego en función de la humedad medida. Si la humedad está por debajo de un cierto nivel, se activa la bomba.
  4. Visualización: Todos los datos se muestran en la pantalla LCD, incluyendo la temperatura, la humedad y el estado de la lámpara y la bomba.

Notas

  • Asegurate de que todas las conexiones estén correctas y que la dirección I2C de la LCD sea la correcta.
  • Ajustá los valores de los umbrales según las condiciones específicas de tu entorno.

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

Publicaciones relacionadas

Proyecto arduino: Válvula Eléctrica para Cultivo

Leer más

Proyecto Arduino: Juego Memotécnico con Keypad

Leer más

Proyecto Arduino: Reloj y Termómetro Digital

Leer más
  • Jose

    6 meses ago

    Sería genial que compartan las librerías

    Responder
    • TP3D

      5 meses ago

      ¡Muchas gracias por la sugerencia Jose! 🙂

      Responder
  • Agrega tu comentario

    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

    Social Chat is free, download and try it now here!