Está en la página 1de 12

REGADOR AUTOMATIZADO

Obligatorio 2 - Taller de Tecnologías

JULIO DE 2022
M1H
Gonzalo Pérez (272016) - Tomás Cabrera (287003) - Matías Corvetto (281535)
Índice
a. Video Problema – Solución ..................................................................... 3
b. Video Solución........................................................................................ 3
c. Documentación ...................................................................................... 3
Funcionalidades del Prototipo ......................................................................... 3
Lista de Materiales ........................................................................................... 3
Código .............................................................................................................. 4
Diagrama de Conexiones ................................................................................. 6
Imágenes del Prototipo.................................................................................... 9
Problemas Encontrados ................................................................................. 10
Posibles Mejoras ............................................................................................ 10
Investigación .................................................................................................. 10
d. Bibliografía ........................................................................................... 12

2
a. Video Problema – Solución

Video Problema - Solución | Obligatorio 2 | Taller de Tecnologías. YouTube.

https://www.youtube.com/watch?v=Ievex9hQ7EY&feature=youtu.be

b. Video Solución

Video Solución | Obligatorio 2 | Taller de Tecnologías. YouTube.

https://www.youtube.com/watch?v=T7Dur1c971s&feature=youtu.be

c. Documentación

Lista de Materiales:
→ Placa Arduino
→ Cables
→ 2 Pilas AA de 1.5v
→ Bomba de agua sumergible de 3V
→ Relé
→ Sensor de temperatura y humedad (DHT11)
→ Sensor de humedad en tierra (FC28)
→ Manguera
→ Pantalla LCD con placa I2C
→ Protoboard
→ Recipiente con agua
→ Cinta aisladora

Funcionalidades del Prototipo:


La funcionalidad de nuestro proyecto se basa en el riego automatizado de las
plantas. Esta acción se regula a partir de datos obtenidos del entorno mediante
sensores, tales como la temperatura ambiente y la humedad del suelo. La función luego

3
de realizarse espera un tiempo predeterminado para quedar
nuevamente disponible, de esta manera da tiempo al suelo para
absorber el agua.
El mecanismo de riego se lleva a cabo mediante una bomba de agua sumergida
en un recipiente lleno, que a través de una manguera logra regar la maceta. Gracias a
un relé conectado a la placa de Arduino, se puede abrir o cerrar el circuito cuando se
quiera, y así ofrecer la posibilidad de elegir cuanto tiempo quiere regarse.
Para el caso específico de nuestra planta, luego de algunas consultas
determinamos que las condiciones ideales para la subsistencia de la planta era un suelo
constante a 60% de humedad, y si la temperatura es alta (mayor a 25°C) regar un poco
más, ya que la planta puede necesitar más agua de lo normal. Por el tamaño de la
maceta, ajustamos nuestro tiempo de espera tras riego a 10 minutos, es decir que
esperara 10 minutos a que el agua humecte la tierra antes de regar nuevamente.
En paralelo dispone de una pantalla LCD que nos va brindando los datos
constantemente actualizados tanto de la temperatura ambiente como de la humedad
en la tierra. Por último, la pantalla también muestra cuando se realiza la función
principal de regar, ofreciendo una “pantalla de carga”.

Código:
// C++ code
//
#include <LiquidCrystal_I2C.h>
#include "DHT.h"
LiquidCrystal_I2C lcd(0x27,16,2);

DHT dht(3, DHT11);

int temperatura;
float humedad = 0;
int porcentajeH = 0;
float porcentajeAux = 0;
float grados;
float gradosAux = 0;
unsigned long tiempoAnterior = 0;
unsigned long tiempoAhora = 0;
bool inicio = true;

unsigned long variacion = 600000; //Variacion de regado en milisegundos

void setup()
{
lcd.init();
lcd.backlight();

4
pinMode(A0, OUTPUT);
pinMode(A1, INPUT);
Serial.begin(9600);
pinMode(4, OUTPUT);
dht.begin();
}

void loop()
{

// Sensor de Humedad
digitalWrite(A0, HIGH);
delay(10);
humedad = analogRead(A1);
digitalWrite(A0, LOW);

// Sensor de Temperatura
grados = dht.readTemperature();
float hic = dht.computeHeatIndex(grados, false);

// Mostrar pantalla
porcentajeH = map(humedad, 0,1023, 100,0);
if ((porcentajeH != porcentajeAux)||(grados != gradosAux)){
porcentajeAux = porcentajeH;
gradosAux = grados;
lcd.clear();
}
lcd.setCursor(0, 1);
lcd.print("Humedad:");
lcd.setCursor(9, 1);
lcd.print(porcentajeH);
lcd.setCursor(12, 1);
lcd.print("%");
lcd.setCursor(0, 0);
lcd.print("Temp:");
lcd.setCursor(6, 0);
if (!isnan(grados)){
temperatura = grados;
lcd.print(temperatura);
lcd.setCursor(8, 0);
lcd.print(char(223));
lcd.setCursor(9, 0);
lcd.print("C");
}

5
// Sistema
digitalWrite(4, HIGH);

tiempoAhora = millis();

if ((porcentajeH<60)&&(temperatura>25)){
if (((tiempoAhora - tiempoAnterior) >= variacion)||(inicio)) {
inicio = false;
digitalWrite(4, LOW);

// Mostrar pantalla regando

lcd.clear();
lcd.setCursor(4, 0);
lcd.print("Regando...");
lcd.setCursor(1, 1);
lcd.print(char(255));
lcd.setCursor(2, 1);
lcd.print(char(255));
delay(1000);
lcd.setCursor(5, 1);
lcd.print(char(255));
lcd.setCursor(6, 1);
lcd.print(char(255));
delay(1000);
lcd.setCursor(9, 1);
lcd.print(char(255));
lcd.setCursor(10, 1);
lcd.print(char(255));
delay(1000);
lcd.setCursor(13, 1);
lcd.print(char(255));
lcd.setCursor(14, 1);
lcd.print(char(255));
delay(1000);

digitalWrite(4, HIGH);
tiempoAnterior = millis();
lcd.clear();
float grados = dht.readTemperature();
}
} else if (porcentajeH<60){
if (((tiempoAhora - tiempoAnterior) >= variacion)||(inicio)) {
inicio = false;
digitalWrite(4, LOW);

// Mostrar pantalla regando


lcd.clear();
lcd.setCursor(4, 0);

6
lcd.print("Regando...");
lcd.setCursor(1, 1);
lcd.print(char(255));
lcd.setCursor(2, 1);
lcd.print(char(255));
delay(750);
lcd.setCursor(5, 1);
lcd.print(char(255));
lcd.setCursor(6, 1);
lcd.print(char(255));
delay(750);
lcd.setCursor(9, 1);
lcd.print(char(255));
lcd.setCursor(10, 1);
lcd.print(char(255));
delay(750);
lcd.setCursor(13, 1);
lcd.print(char(255));
lcd.setCursor(14, 1);
lcd.print(char(255));
delay(750);

digitalWrite(4, HIGH);
tiempoAnterior = millis();
lcd.clear();
}
}
}

7
Diagrama de Conexiones:

8
Imágenes del prototipo

9
Problemas encontrados:
• Al principio no disponíamos de la placa I2C, por lo cual teníamos que conectar demasiados
cables, provocando desorden. Además, la gran cantidad de conexiones facilitaba el error
dentro de las mismas, haciendo que el funcionamiento no sea el adecuado. La solución fue
comprar la placa y así optimizar la disposición de los componentes.
• A la hora de mostrar en pantalla la información, queríamos mostrar ciertos caracteres
especiales, estos requerían de una función llamada char(), que funcionaba a través del
código ASCII. Luego de muchos intentos, lo solucionamos investigando en foros.
• Uno de nuestros primeros problemas a la hora de realizar el proyecto fue debido al relé, ya
que no teníamos el conocimiento necesario sobre su funcionamiento y conexiones. Lo
resolvimos investigando y llevándolo a la práctica.
• El último problema está relacionado con el anterior, ya que para construir el circuito que
contiene la bomba de agua necesitábamos usar pilas. Intentamos de muchas maneras y con
muchas baterías sin éxito. Al final, gracias a un multímetro, pudimos identificar las baterías
útiles y con una conexión en serie obtuvimos una fuente de energía de 3V.

Posibles mejoras:
Para mejorar el proyecto al más alto nivel se podrían agregar o cambiar algunos
detalles. Primeramente, trabajar con soldaduras hace que las conexiones sean mucho
más estables. También se podrían adquirir más sensores y de mayor calidad, para
mejorar la lectura del entorno. De manera similar, componentes de más caudal y mayor
resistencia mejorarían el alcance y resistencia del proyecto. Por último, se podría
mejorar la estética clasificando y ocultando las conexiones, para así mostrar solo lo
mínimo necesario.
Otra mejora para hacer, apuntando directamente a la facilidad de uso del
usuario, sería crear variables de tiempo que puedan ser fácilmente ajustadas. Como
nosotros ya sabíamos los valores, anotamos los parámetros con el número
directamente.

Investigación:
Bomba de agua sumergible
Una bomba de agua es una máquina generadora que transforma la energía con la que
es accionada en energía del fluido incompresible que mueve.
Una bomba sumergible es una bomba que tiene un impulsor sellado a la carcasa. El
conjunto se sumerge en el líquido a bombear. La ventaja de este tipo de bomba es que puede
proporcionar una fuerza de elevación significativa pues no depende de la presión de aire externa
para hacer ascender el líquido. Se conecta un polo positivo y otro negativo.

10
Relé
El relé es un dispositivo electromagnético. Funciona como un
interruptor controlado por un circuito eléctrico en el que, por medio de una bobina y
un electroimán, se acciona un juego de uno o varios contactos que permiten abrir o cerrar otros
circuitos eléctricos independientes.
Conexiones:

Sensor de humedad en tierra (FC28)


El funcionamiento del sensor se basa en medir la resistencia entre 2 electrodos
insertados dentro del suelo, la resistencia entre los electrodos dependerá de la humedad del
suelo, por lo que para un suelo muy húmedo tendremos una resistencia muy baja (corto circuito)
y para un suelo muy seco la resistencia será muy alta (circuito abierto). El electrodo va conectado
a una tarjeta de acondicionamiento (YL-38) que entrega una salida digital y otra analógica. Los
valores obtenidos van desde 0 sumergido en agua, a 1023 en el aire (o en un suelo muy seco).
Conexiones:

11
d. Bibliografía
Naylamp Mechatronics. Sensor de Humedad del Suelo FC-28.
https://naylampmechatronics.com/sensores-temperatura-y-humedad/47-
sensor-de-humedad-de-suelo-fc-28.html
Wikipedia. (2021, Marzo). Bomba sumergible.
https://es.wikipedia.org/wiki/Bomba_sumergible
Wikipedia. (2022, Junio). Bomba hidráulica.
https://es.wikipedia.org/wiki/Bomba_hidr%C3%A1ulica
Wikipedia. (2022, Julio). Relé.
https://es.wikipedia.org/wiki/Rel%C3%A9#Tipos_de_rel%C3%A9s

12

También podría gustarte