Está en la página 1de 9

05/08/2020 Sistema de Riego

controlado con App


Microcontroladores
Manual

Proyecto final
Microcontroladores

Andrea Carolina García Piña


MTRO5B
Contenido
Objetivo ...............................................................................................................................................................................2
Materiales............................................................................................................................................................................2
Diagrama de conexión en Fritzing .......................................................................................................................................2
Código de Arduino ...............................................................................................................................................................3
App Inventor ........................................................................................................................................................................6
Firebase ...............................................................................................................................................................................7
Resultado final .....................................................................................................................................................................8

1
Objetivo
El funcionamiento de este proyecto es lograr un sistema de riego manejado por una aplicación, la cual
permitirá ver el porcentaje de humedad de la planta, el riego de está será mediante el uso de un botón, al
presionar este botón se encenderá una bomba que suministrará el agua por una manguera, regando así
nuestra planta. Se utilizará el protocolo de comunicación WIFI, mediante el uso de una NodeMCU.

Materiales
 NodeMcu
 Sensor de humedad de suelo Arduino Pic
 Relevador
 Bomba sumergible
 Batería de 5V a 9V (depende de la bomba)
 Manguera
 Cables hembra macho
 Powerbank (Alimentación del NodeMCU)

Diagrama de conexión en Fritzing

NodeMCU

Sensor de humedad

Relevador 5V Bomba
sumergible de
3V a 6V

Batería de 6V

2
Código de Arduino
Antes de comenzar con el código, descargarnos la librería de Firebase, una vez descargada abrimos el menú
Programa - Incluir Librería - Añadir librerías .ZIP.

Después de haberla incluido, se instalará la tarjeta ESP8266 en gestor de tarjetas, ahí se descargará la
misma.

Por último, se selecciona la placa a utilizar.

3
Programa

#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>

#define FIREBASE_HOST "*****" //Nombre de la base de datos creadas en Firebase


#define FIREBASE_AUTH "****** " // Clave de acceso a la base de datos
#define WIFI_SSID "*****" // Nombre de la red Wifi a la que se conecta NodeMCU y clave de acceso
#define WIFI_PASSWORD "******" // Contraseña de la red Wifi

int sensorYI=0; //Creamos una variable que será la del sensor

void setup() {
Serial.begin(9600);

pinMode(A0, INPUT); //Pin de control del sensor de humedad.


pinMode(13, OUTPUT); // Pin que controla el relé (13 =D7)

// Conectar al wifi.
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("connected: ");
Serial.println(WiFi.localIP());

Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}

void loop() {
sensorYI = analogRead(A0); //Guardamos dentro de la variable sensorYI el valor que entra en la entrada
analógica de NodeMCU
4
Serial.println("Porcentaje de agua que necesita la planta:"); // imprimimos esta frase en el serial
Serial.println(sensorYI); // Imprimimos en el puerto serie el valor de la variable sensorYI

Firebase.setInt("SensorYI", sensorYI); //Mandamos el valor de la variable sensorYI a Firebase y la guardo en


una ETIQUETA llamada SensorYI.

//Coger datos
String interruptor = Firebase.getString("interruptor"); // Para encender o apagar la bomba.
}
delay(100);

// Acciones
//Al presionar el botón regar se encenderá la bomba.
if ((interruptor.toInt() == 1)) {
digitalWrite(13, HIGH);
}
//Al presionar nuevamente el botón regar se apagará la bomba.
if ((interruptor.toInt() == 0)) {
digitalWrite(13, LOW);}
}

5
App Inventor

Diseñador:
En el recuadro se mostrará el porcentaje de agua que necesita la planta, en este caso fue debido a que mi
sensor entre más grande es el número que muestra, mas seca se encuentra la planta, asi que maneje la
etiqueta de esta manera para que fuera más entendible. Al oprimir el botón de regar la bomba de agua se
activará y se regará la planta, al oprimirlo nuevamente se apagará la bomba.
Se agregará firebase para poder hacer la conexión entre el código de Arduino y la aplicación.

Bloques:
Se inicializa una variable global como interruptor.
Conforme el valor del sensorYI va cambiando, la firebase le envía el valor a la aplicación y este valor toma la
etiqueta llamada “CTsensorYI” que es donde se estarán mostrando los cambios dependiendo del sensor de
humedad.

6
Cuando se presiona el botón “Regar” se llama al interruptor global y ya que este toma un valor de “1” el
relevador se enciende y la bomba también, al presionarlo de nuevo toma el valor de “0” y estos se apagan.

Firebase
1) Se crea una base de datos en la plataforma
firebase, se inicia sesión, una vez iniciada la
sesión se oprime “Add Project”.

2) En el cuadro que se despliega debemos elegir un nombre


para nuestro proyecto y seleccionar la región en la que nos
encontramos y oprimir el botón "Create Project".

3) Después de seleccionar nuestro país e


ubicación, se crea la base de datos.

7
4) Cambiamos las "reglas" de la Base de
Datos, el false se cambia por un true y se
presiona el botón publish para guardar los
cabios.

5) Finalmente, nuestra base de datos en tiempo real queda de esta manera, las variables que se muestran
son las que nos arrojara el sensor de humedad y si la bomba prende o no, estas varían continuamente.

Resultado final
Este sistema funciona para poder observar el nivel de agua que necesitan tus plantas o tu jardín, dependiendo del uso que
le quieras dar. Si tú lo consideras necesario la podrás regar simplemente oprimiendo el botón de riego. Finalmente
comprobaras que tu planta realmente tiene el agua suficiente que necesita.

También podría gustarte