Proyecto Riego Arduino

Sistema de Riego con sistema embebido arduino UNODescripción completa

Views 209 Downloads 22 File size 840KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

1

Proyecto De Riego Automátic o Usando Arduino

2 Desarrollo de productos Álvaro Vigueras Alarcón

electrónicos.

Índice

Objetivo……………………………………………………………….

3

Justificación……………...……………………………………….…..

3

Obtención del material….…………….…………………………….

4

Montaje del proyecto………………………………………………..

5

Programación del proyecto….……………………………………..

7

Visualización del proyecto………………………………………….

8

Presupuesto………………………………..……………………….

12

Notación bibliográfica……………………………………………….

14

3 OBJETIVO: El proyecto trata de un sistema de regadío automático, dependiendo de la temperatura y la humedad que haya dentro del invernadero, con el fin de aumentar la comodidad del usuario e imponiendo el tiempo que quiere que esté regando, y cada cuanto quiere que riegue su invernadero. Para ello utilizaremos una maqueta de un invernadero pequeño, una pantalla LCD, un arduino UNO, una electroválvula y dos macetas para la comprobación.

Justificación: El riego automático es un invento tanto para uso doméstico (regar las macetas de su casa) como para uso industrial (campos de cultivo grandes o pequeños). En nuestro caso es para uso doméstico, ya que lo hemos incorporado en un invernadero pequeño. Este trabajo es muy útil, ya que las personas no tienen que estar pendientes de cuando tienen que regar sus plantas, o cuanta agua deben echarle, simplemente deberán elegir cada cuanto quiere que riegue, y cuanto tiempo quiere que esté regando. La comodidad para el usuario, y el despreocupamiento que causa este proyecto de regadío automático es muy alto, pues todas las plantas se mantendrán vivas y con un color vivo dentro de su invernadero doméstico.

4 Compra del material Compra de material necesario: - Arduino UNO. - Pantalla LCD 2x16. - Sensor de humedad y temperatura. - 2 Potenciómetros. - Manguera de 0,5mm de ancho. - Electroválvula 12 V. - Cables de conexión. - 2 Placas board. - 2 Interruptores. - Pulverizador de agua. - LED Verde 5mm. - 2 Resistencias de 10K Ω. - Caja de plástico pequeña. - Invernadero pequeño.

5 Montaje del proyecto:

En las patillas digitales conectaremos: - En la 3 un interruptor. - En la 7 otro interruptor. En las patillas analógicas conectaremos: -

En la A0 el sensor de humedad y temperatura. En la A2 un potenciómetro. En la A3 otro potenciómetro. En la A4 la patilla SDA de la pantalla LCD. En la A5 la patilla SCL de la pantalla LCD.

De la patilla Vin de nuestro Arduino sacamos los 12V que activarán el relé, que a la vez este activará la electroválvula. Los 12V se los daremos nosotros al Arduino mediante un transformador de 12V. Aunque en mi caso, el transformador no da los 12V, si no que da 15,7 o 15,8V, pero no causa ningún problema, ya que el Arduino soporta ese voltaje.

6

7 Programación del proyecto:

Programamos nuestro proyecto en lenguaje arduino, con su propio programa descargado de la web www.arduino.cc. Antes de empezar a programar, descargamos la librería de la pantalla LCD, ya que nos hará falta para poder programarla. Dicha librería se llama LiquidCrystal_I2C.h y la podemos descargar fácilmente de internet. En el programa se diferencia claramente donde está programado cada componente y su función, aunque de todas formas doy pequeñas explicaciones de por donde vamos en el programa para no liarnos. El programa trata principalmente de que nos muestre en pantalla LCD la temperatura y la humedad, y que cambiando de posición un interruptor, nos muestre los datos que introducimos mediante los potenciómetros. Una vez tengamos los datos que queremos, con otro interruptor, cambiándolo de posición, guarde estos datos y los exponga en la salida de la electroválvula. También habrá un LED, que cuando esta encendido nos indicará cuándo está leyendo los datos el Arduino, y cuando no esta encendido no lee nada, simplemente muestra en el LCD los datos. La electroválvula se activará en el momento en el que nosotros le digamos al Arduino que lea los datos que le estamos metiendo, mientras tanto, la electroválvula funcionará con los datos anteriores, es decir, si no tenia ningún dato antes, no funcionará.

8 return result;

Visualización: Declaramos todas las librerías para poder utilizarlas

}

#define DHT11_PIN 0

Declaramos todas las variables que hemos utilizado:

#include

int electrovalvula;

#include

int a,b,c,d;

LiquidCrystal_I2C lcd(0x27,16,2); Declaramos todas las funciones: byte read_dht11_dat()

int interruptor2 = 3; int cuanto; int cada; int interruptor = 7;

{ byte i = 0; byte result=0; for(i=0; i< 8; i++)

int horas = A3; int estado; int cambio = 0;

{ while(!(PINC & _BV(DHT11_PIN))); // wait for 50us delayMicroseconds(30); if(PINC & _BV(DHT11_PIN)) result |=(1