Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
https://www.youtube.com/watch?v=Ievex9hQ7EY&feature=youtu.be
b. Video Solución
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
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);
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;
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);
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);
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:
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