control automático de un sistema de riego

62
1 CONTROL AUTOMÁTICO DE UN SISTEMA DE RIEGO Autor: Dailos Badel Ramos Valido Tutores: Francisco Javier del Pino Suárez Juan Antonio Jiménez Rodríguez Fecha: Junio 2015 PROYECTO FIN DE CARRERA Ingeniero Técnico Industrial, especialidad en Electrónica Industrial

Upload: rfic-iuma

Post on 19-Jan-2017

779 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: Control automático de un sistema de riego

1

CONTROL AUTOMÁTICO DE UN SISTEMA DE RIEGO

Autor: Dailos Badel Ramos Valido Tutores: Francisco Javier del Pino Suárez Juan Antonio Jiménez Rodríguez

Fecha: Junio 2015

PROYECTO FIN DE CARRERA

Ingeniero Técnico Industrial, especialidad en Electrónica Industrial

Page 2: Control automático de un sistema de riego

2

Estructura

Bloque I Introducción Objetivos

Bloque II Especificaciones Plataforma de desarrollo Arduino Módulo de comunicación inalámbrica XBee Módulo de comunicación GPRS Implementación

Bloque III Presupuesto Conclusiones

Page 3: Control automático de un sistema de riego

3

Estructura

Bloque I Introducción Objetivos

Bloque II Especificaciones Plataforma de desarrollo Arduino Módulo de comunicación inalámbrica XBee Módulo de comunicación GPRS Implementación

Bloque III Presupuesto Conclusiones

Page 4: Control automático de un sistema de riego

4

Introducción

¿Porque un sistema de riego? El agua es un bien escaso, necesaria para las plantas. Necesidades del sector agrícola en Canarias. Ventajas de regadío automatizado. Búsqueda de una solución tecnológica. Posibilidades de crecimiento o desarrollo.

Page 5: Control automático de un sistema de riego

5

Introducción

Elementos en una instalación de riego Acometida de agua

Depósitos

Bombas de agua

Canales y tuberías

Válvulas y llaves

Controlador

Page 6: Control automático de un sistema de riego

6

Introducción

Titulación especialidad en Electrónica Diseño con componentes electrónicos

Modalidades de PFC B. Estudios o Trabajos Técnicos o Tecnológicos

Estudio de una idea o prototipo

Tendencias Software libre y hardware de código abierto

Redes de sensores inalámbricas

Page 7: Control automático de un sistema de riego

7

Objetivos

El objetivo puede desglosarse en las siguientes tareas: Dimensionar el número de sensores, actuadores y nodos. Características de plataforma Arduino como controlador. Características de las redes de sensores sin hilos. Elección de los componentes que van a formar el sistema. Montaje y testeo de la implementación.

Diseño e implementación del control automático de un sistema de riego

Page 8: Control automático de un sistema de riego

8

Estructura

Bloque I Introducción Objetivos

Bloque II Especificaciones Plataforma de desarrollo Arduino Módulo de comunicación inalámbrica XBee Módulo de comunicación GPRS Implementación

Bloque III Presupuesto Conclusiones

Page 9: Control automático de un sistema de riego

9

Especificaciones

Esquema Zona 0: R0 Zona 1: E1 Zona 2: E2 Zona 3: E3

Z ONA 1

Z ONA 0

Z O NA 2

Z ONA 3

R

E1

E2

E3

Page 10: Control automático de un sistema de riego

10

Especificaciones

Esquema Zona 0: R0 Zona 1: E1 Zona 2: E2 Zona 3: E3

Z ONA 1

Z ONA 0

Z O NA 2

Z ONA 3

R

E1

E2

E3

ac ometida

R

E1

E2

E3

Z ONA 1

Z ONA 2

Z ONA 0

Z ONA 3

Page 11: Control automático de un sistema de riego

11

Especificaciones

Esquema Zona 1

Entrada analógica Sensor humedad suelo: A0 Entrada analógica Sensor iluminación: A1 Entrada digital Sensor nivel batería: D8

bater ia

I -> S 1I -> I1I -> B 1

sens or humedad

s ue lo

s ens oriluminac ión

reguladorv oltage

6V ->3.7V

plac a s o lar

n iv e lba ter ia

_+

Z igBee

E1

ac ometida

R

E1

E2

E3

Z ONA 1

Z O NA 2

Z ONA 0

Z ONA 3

Page 12: Control automático de un sistema de riego

12

Especificaciones

Esquema Zona 0

Salida digital Relé iluminación: D9 Salida digital Relé electroválvula: D10 Entrada analógica Sensor de caudal: A0 Entrada digital Sensor nivel batería: D8

Bombillas

O -> R 0I -> C0I -> B0

re lé5V ->12V

elec trov álv ula

c audalime tro

Z igBee

re lé5V ->22 0 V ac

bate r ia reguladorv oltag e

12V ->3 .7V

FA12V

niv elbater ia

_+

c onv ers orv oltag e

3.7 V ->12V

R

ac ometida

R

E1

E2

E3

Z ONA 1

Z O NA 2

Z ONA 0

Z ONA 3

Page 13: Control automático de un sistema de riego

13

Especificaciones

Esquema Zona 2

Entrada digital Sensor nivel agua vacio: D9 Entrada digital Sensor nivel agua lleno: D10 Entrada digital Sensor nivel batería: D8

depós ito

I -> N A 2I -> N B2I -> B2

niv e l aguav ac io

n iv e l agualleno

Z igBee bater ia regu ladorv o ltage

12V ->3.7V_+

niv elbater ia aerogenerador

E2

ac ometida

R

E1

E2

E3

Z ONA 1

Z O NA 2

Z ONA 0

Z ONA 3

Page 14: Control automático de un sistema de riego

14

Especificaciones

Esquema Zona 3

Salida digital Relé bomba agua: D9 Entrada digital Sensor nivel batería: D8

bomba agua

D

depós ito

O -> M 3I -> B3

mic ro hy drogenerator

Z igBee bateria regu ladorv oltage

12V ->3.7V_+

niv e lbater ia

FA12V

A c ometida agua

E3ac ometida

R

E1

E2

E3

Z ONA 1

Z O NA 2

Z ONA 0

Z ONA 3

Page 15: Control automático de un sistema de riego

15

Componentes del diseño 4 placas Arduino

4 shield XBee y 4 XBee serie 1

1 shield GPRS y 1 GPRS

1 sensor humedad de suelo

1 sensor iluminación

1 bomba de agua

3 reguladores de voltaje

4 baterías

1 placa solar

1 mini aerogenerador

1 micro hidrogenerador

2 relé 5 V a 12 V

1 electroválvula

1 sensor de caudal

2 sensores de nivel de líquidos

1 bombilla

4 sensores de nivel de batería

Especificaciones

Page 16: Control automático de un sistema de riego

16

Plataforma de desarrollo Arduino

Arduino plataforma de desarrollo compuesta por placa I/O ventajas:

Ser asequibles. Multi-Plataforma. Entorno de programación simple y directo. Software ampliable y de código abierto. Hardware ampliable y de código abierto.

Microcontrolador ATmega328Voltaje de funcionamiento 5V

Alimentación (recomendada) 7-12VVoltaje máximo de entrada 20V

Pines digitales I/O 14 (de los cuales 6 dan salida PWM)Pines de entrada analógica 6

Corriente DC por I/O Pin 40mACorriente DC para el pin 3.3V 50mA

Memoria Flash 32kb (ATmega328) 0.5kb usados por bootloader

SRAM 2kb (ATmega328)EEPROM 1kb (ATmega328)

Reloj 16 MHz

Page 17: Control automático de un sistema de riego

17

Plataforma de desarrollo Arduino

Arduino Uno Ejemplo parpadear un led

Lenguaje C•Estructura

void setup(): Inicializaciónvoid loop(): Bucle

•Estructuras de controlif (comparador) { }else if (comparador) { }else { }

•Funciones digitales/analógicaspinMode(pin, mode)digitalRead(pin)digitalWrite(pin)analogRead(pin)

Page 18: Control automático de un sistema de riego

18

Plataforma de desarrollo Arduino

Arduino Uno Ejemplo parpadear un led

Lenguaje C•Estructura

void setup(): Inicializaciónvoid loop(): Bucle

•Estructuras de controlif (comparador) { }else if (comparador) { }else { }

•Funciones digitales/analógicaspinMode(pin, mode)digitalRead(pin)digitalWrite(pin)analogRead(pin)

Page 19: Control automático de un sistema de riego

19

Plataforma de desarrollo Arduino

Arduino Uno Ejemplo parpadear un led

Lenguaje C•Estructura

void setup(): Inicializaciónvoid loop(): Bucle

•Estructuras de controlif (comparador) { }else if (comparador) { }else { }

•Funciones digitales/analógicaspinMode(pin, mode)digitalRead(pin)digitalWrite(pin)analogRead(pin)

Page 20: Control automático de un sistema de riego

20

Arduino Uno Ejemplo parpadear un led

Plataforma de desarrollo Arduino

Page 21: Control automático de un sistema de riego

21

Plataforma de desarrollo Arduino

Arduino Uno Ejemplo parpadear un led

Page 22: Control automático de un sistema de riego

22

Plataforma de desarrollo Arduino

Arduino Uno Ejemplo parpadear un led

Page 23: Control automático de un sistema de riego

23

Plataforma de desarrollo Arduino

Arduino Uno Ejemplo parpadear un led

Page 24: Control automático de un sistema de riego

24

Módulo de comunicación inalámbrica XBee

XBee Los módulos serie 1 utilizan XBee 802.15.4. Frecuencia de 2,5 GHz. Distancia de transmisión de hasta 100m. Redes punto a punto o estrella.

Page 25: Control automático de un sistema de riego

25

Módulo de comunicación inalámbrica XBee

XBee Se conecta a la placa Arduino Uno a través del módulo de

comunicación XBee para comunicarse de forma inalámbrica.

Page 26: Control automático de un sistema de riego

26

Módulo de comunicación inalámbrica XBee

XBee Ejemplo de programación nodo coordinador y nodo remoto

//entradas analógicas de los tres sensoresint sens0 = 0;int sens1 = 1;int sens2 = 2;// variables auxiliaresint val0 = 0;int val1 = 0;int val2 = 0;int count = 0;void setup(){Serial.begin(19200);}void sendData(int num, int data1,int data2,int data3){Serial.flush();Serial.println("Luminosidad:");Serial.println(data1);Serial.print("\n");Serial.flush();Serial.println("Humedad:");Serial.println(data2);Serial.println("\n");Serial.flush();Serial.println("Temperatura:");Serial.println(data3);Serial.println("\n");}void loop(){while (count <= 10000){//lectura de los tres sensoresval0 = analogRead(sens0);val1 = analogRead(sens1);val2 = analogRead(sens2);//se llama a la función encargada de enviar los datos leídos por los sensoressendData(count, val0,val1,val2);delay(1000);

nodo coordinador nodo remoto

Page 27: Control automático de un sistema de riego

27

Módulo de comunicación inalámbrica XBee

XBee Ejemplo de programación nodo coordinador y nodo remoto

//entradas analógicas de los tres sensoresint sens0 = 0;int sens1 = 1;int sens2 = 2;// variables auxiliaresint val0 = 0;int val1 = 0;int val2 = 0;int count = 0;void setup(){Serial.begin(19200);}void sendData(int num, int data1,int data2,int data3){Serial.flush();Serial.println("Luminosidad:");Serial.println(data1);Serial.print("\n");Serial.flush();Serial.println("Humedad:");Serial.println(data2);Serial.println("\n");Serial.flush();Serial.println("Temperatura:");Serial.println(data3);Serial.println("\n");}void loop(){while (count <= 10000){//lectura de los tres sensoresval0 = analogRead(sens0);val1 = analogRead(sens1);val2 = analogRead(sens2);//se llama a la función encargada de enviar los datos leídos por los sensoressendData(count, val0,val1,val2);delay(1000);

nodo coordinador nodo remoto

Page 28: Control automático de un sistema de riego

28

Módulo de comunicación inalámbrica XBee

XBee Ejemplo de programación nodo coordinador y nodo remoto

Page 29: Control automático de un sistema de riego

29

Módulo de comunicación inalámbrica XBee

XBee Ejemplo de programación nodo coordinador y nodo remoto

Page 30: Control automático de un sistema de riego

30

Módulo de comunicación inalámbrica XBee

XBee Ejemplo de programación nodo coordinador y nodo remoto

Page 31: Control automático de un sistema de riego

31

Módulo de comunicación inalámbrica XBee

XBee Ejemplo de programación nodo coordinador y nodo remoto

Page 32: Control automático de un sistema de riego

32

Módulo de comunicación GPRS

GPRS Incluye el módulo de comunicación HiLo de SAGEM. Se puede enviar datos por SMS o hacer llamadas perdidas

desde el Arduino a otros dispositivos móviles o a otro Arduino conectado a este módulo.

Page 33: Control automático de un sistema de riego

33

Módulo de comunicación GPRS

GPRS Ejemplo envío SMS

Page 34: Control automático de un sistema de riego

34

Implementación

Pruebas y resultados Prueba individual de cada nodo Pruebas de transmisión inalámbrica entre nodos

Comandos de control

Commando 1 Comando 2 DefiniciónOFF ON

E1LUZ 0 1 Nodo E1 IluminaciónE1HUM 0 1 Nodo E1 HumedadE1BAT 0 1 Nodo E1 BateríaE2NIA 0 1 Nodo E2 Nivel agua superiorE2NIB 0 1 Nodo E2 Nivel agua inferiorE2BAT 0 1 Nodo E2 BateríaE3BAT 0 1 Nodo E3 BateríaR0BOM 0 1 Nodo R0 Activar bomba agua

Page 35: Control automático de un sistema de riego

35

Implementación

Pruebas y resultados Prueba individual de cada nodo Pruebas de transmisión inalámbrica entre nodos

Comandos de control

Commando 1 Comando 2 DefiniciónOFF ON

E1LUZ 0 1 Nodo E1 IluminaciónE1HUM 0 1 Nodo E1 HumedadE1BAT 0 1 Nodo E1 BateríaE2NIA 0 1 Nodo E2 Nivel agua superiorE2NIB 0 1 Nodo E2 Nivel agua inferiorE2BAT 0 1 Nodo E2 BateríaE3BAT 0 1 Nodo E3 BateríaR0BOM 0 1 Nodo R0 Activar bomba agua

Z ONA 0

RE1

Z ONA 1

E1LUZ 0

Page 36: Control automático de un sistema de riego

36

Implementación

Pruebas y resultados Prueba individual de cada nodo Pruebas de transmisión inalámbrica entre nodos

Comandos de control

Commando 1 Comando 2 DefiniciónOFF ON

E1LUZ 0 1 Nodo E1 IluminaciónE1HUM 0 1 Nodo E1 HumedadE1BAT 0 1 Nodo E1 BateríaE2NIA 0 1 Nodo E2 Nivel agua superiorE2NIB 0 1 Nodo E2 Nivel agua inferiorE2BAT 0 1 Nodo E2 BateríaE3BAT 0 1 Nodo E3 BateríaR0BOM 0 1 Nodo R0 Activar bomba agua

Z ONA 0

RE1

Z ONA 1

E1LUZ 1

Z ONA 0

RE1

Z ONA 1

E1LUZ 0

Page 37: Control automático de un sistema de riego

37

Implementación

Programación zona 1 Co n figu ra ció np ue rto Se rie

Le ctu ra se nsorilumin ació n

Re ta rdo

In ic ia liza c ión

Co n figu ra ció ne n trad a s/sa lida s

Ilu mina ció nb a ja

En vía E1L UZ 1a l puerto s er ie XBee

SIEn vía E1 LUZ 0a l puerto s er ie XBee

NO

bate r íaba ja

En vía E1 BAT 1a l puerto s er ie XBee

SIEnvía E1 BAT 0a l puerto s er ie XBee

NO

Le ctu ra se nsorhu me da d su e lo

hume da dsue lo ba ja

En vía E1HUM 1a l puerto s er ie XBee

SIEn vía E1 HUM 0a l puerto s er ie XBee

NO

Le ctu ra sen sorba te r ía

Page 38: Control automático de un sistema de riego

38

Implementación

Programación zona 1 Co n figu ra ció np ue rto Se rie

Le ctu ra se nsorilumin ació n

Re ta rdo

In ic ia liza c ión

Co n figu ra ció ne n trad a s/sa lida s

Ilu mina ció nb a ja

En vía E1L UZ 1a l puerto s er ie XBee

SIEn vía E1 LUZ 0a l puerto s er ie XBee

NO

bate r íaba ja

En vía E1 BAT 1a l puerto s er ie XBee

SIEnvía E1 BAT 0a l puerto s er ie XBee

NO

Le ctu ra se nsorhu me da d su e lo

hume da dsue lo ba ja

En vía E1HUM 1a l puerto s er ie XBee

SIEn vía E1 HUM 0a l puerto s er ie XBee

NO

Le ctu ra sen sorba te r ía

Page 39: Control automático de un sistema de riego

39

Implementación

Programación zona 1 Co n figu ra ció np ue rto Se rie

Le ctu ra se nsorilumin ació n

Re ta rdo

In ic ia liza c ión

Co n figu ra ció ne n trad a s/sa lida s

Ilu mina ció nb a ja

En vía E1L UZ 1a l puerto s er ie XBee

SIEn vía E1 LUZ 0a l puerto s er ie XBee

NO

bate r íaba ja

En vía E1 BAT 1a l puerto s er ie XBee

SIEnvía E1 BAT 0a l puerto s er ie XBee

NO

Le ctu ra se nsorhu me da d su e lo

hume da dsue lo ba ja

En vía E1HUM 1a l puerto s er ie XBee

SIEn vía E1 HUM 0a l puerto s er ie XBee

NO

Le ctu ra sen sorba te r ía

Page 40: Control automático de un sistema de riego

40

Implementación

Programación zona 1 Co n figu ra ció np ue rto Se rie

Le ctu ra se nsorilumin ació n

Re ta rdo

In ic ia liza c ión

Co n figu ra ció ne n trad a s/sa lida s

Ilu mina ció nb a ja

En vía E1L UZ 1a l puerto s er ie XBee

SIEn vía E1 LUZ 0a l puerto s er ie XBee

NO

bate r íaba ja

En vía E1 BAT 1a l puerto s er ie XBee

SIEnvía E1 BAT 0a l puerto s er ie XBee

NO

Le ctu ra se nsorhu me da d su e lo

hume da dsue lo ba ja

En vía E1HUM 1a l puerto s er ie XBee

SIEn vía E1 HUM 0a l puerto s er ie XBee

NO

Le ctu ra sen sorba te r ía

Page 41: Control automático de un sistema de riego

41

Implementación

Programación zona 1 Co n figu ra ció np ue rto Se rie

Le ctu ra se nsorilumin ació n

Re ta rdo

In ic ia liza c ión

Co n figu ra ció ne n trad a s/sa lida s

Ilu mina ció nb a ja

En vía E1L UZ 1a l puerto s er ie XBee

SIEn vía E1 LUZ 0a l puerto s er ie XBee

NO

bate r íaba ja

En vía E1 BAT 1a l puerto s er ie XBee

SIEnvía E1 BAT 0a l puerto s er ie XBee

NO

Le ctu ra se nsorhu me da d su e lo

hume da dsue lo ba ja

En vía E1HUM 1a l puerto s er ie XBee

SIEn vía E1 HUM 0a l puerto s er ie XBee

NO

Le ctu ra sen sorba te r ía

Page 42: Control automático de un sistema de riego

42

Implementación

Programación zona 1 Co n figu ra ció np ue rto Se rie

Le ctu ra se nsorilumin ació n

Re ta rdo

In ic ia liza c ión

Co n figu ra ció ne n trad a s/sa lida s

Ilu mina ció nb a ja

En vía E1L UZ 1a l puerto s er ie XBee

SIEn vía E1 LUZ 0a l puerto s er ie XBee

NO

bate r íaba ja

En vía E1 BAT 1a l puerto s er ie XBee

SIEnvía E1 BAT 0a l puerto s er ie XBee

NO

Le ctu ra se nsorhu me da d su e lo

hume da dsue lo ba ja

En vía E1HUM 1a l puerto s er ie XBee

SIEn vía E1 HUM 0a l puerto s er ie XBee

NO

Le ctu ra sen sorba te r ía

Page 43: Control automático de un sistema de riego

43

Implementación

Programación zona 1 Co n figu ra ció np ue rto Se rie

Le ctu ra se nsorilumin ació n

Re ta rdo

In ic ia liza c ión

Co n figu ra ció ne n trad a s/sa lida s

Ilu mina ció nb a ja

En vía E1L UZ 1a l puerto s er ie XBee

SIEn vía E1 LUZ 0a l puerto s er ie XBee

NO

bate r íaba ja

En vía E1 BAT 1a l puerto s er ie XBee

SIEnvía E1 BAT 0a l puerto s er ie XBee

NO

Le ctu ra se nsorhu me da d su e lo

hume da dsue lo ba ja

En vía E1HUM 1a l puerto s er ie XBee

SIEn vía E1 HUM 0a l puerto s er ie XBee

NO

Le ctu ra sen sorba te r ía

Page 44: Control automático de un sistema de riego

44

Implementación

Programación zona 1 Co n figu ra ció np ue rto Se rie

Le ctu ra se nsorilumin ació n

Re ta rdo

In ic ia liza c ión

Co n figu ra ció ne n trad a s/sa lida s

Ilu mina ció nb a ja

En vía E1L UZ 1a l puerto s er ie XBee

SIEn vía E1 LUZ 0a l puerto s er ie XBee

NO

bate r íaba ja

En vía E1 BAT 1a l puerto s er ie XBee

SIEnvía E1 BAT 0a l puerto s er ie XBee

NO

Le ctu ra se nsorhu me da d su e lo

hume da dsue lo ba ja

En vía E1HUM 1a l puerto s er ie XBee

SIEn vía E1 HUM 0a l puerto s er ie XBee

NO

Le ctu ra sen sorba te r ía

Page 45: Control automático de un sistema de riego

45

Implementación

Programación zona 1//Variables sensoresconst int inA0 = 0; //Sensor iluminaciónconst int inA1 = 1; //Sensor humedad de sueloconst int inD8 = 8; //Sensor nivel bateríaconst int iluminacion = 30; //Minimo de luzconst int humedadsuelo = 10; //Minimo de humedad de suelo//Variables auxiliaresint val0 = 0;int val1 = 0;int val8 = 0;//Inicializaciónvoid setup(){ Serial.begin(19200); //activa el puerto serie pinMode(inD8, INPUT); //pin 8 entrada digital pinMode(13, INPUT);}//Programavoid loop(){ //medidad de los sensores val0 = analogRead(inA0); //luz val1 = analogRead(inA1); //humedad del suelo val8 = digitalRead(inD8); //nivel bateria //control de los sensores if (val0 < iluminacion) { //si luz baja Serial.println("E1LUZ 1 "); } else Serial.println("E1LUZ 0 "); delay(200); //para dar tiempo de recibir el dato if (val1 < humedadsuelo) { //si humedad suelo baja Serial.println("E1HUM 1 "); } else Serial.println("E1HUM 0 "); delay(200); if (val8 == HIGH) { //si batería baja Serial.println("E1BAT 1 "); } else Serial.println("E1BAT 0 "); delay(200); delay(12000);}

Page 46: Control automático de un sistema de riego

46

Implementación

Programación zona 1//Variables sensoresconst int inA0 = 0; //Sensor iluminaciónconst int inA1 = 1; //Sensor humedad de sueloconst int inD8 = 8; //Sensor nivel bateríaconst int iluminacion = 30; //Minimo de luzconst int humedadsuelo = 10; //Minimo de humedad de suelo//Variables auxiliaresint val0 = 0;int val1 = 0;int val8 = 0;//Inicializaciónvoid setup(){ Serial.begin(19200); //activa el puerto serie pinMode(inD8, INPUT); //pin 8 entrada digital pinMode(13, INPUT);}//Programavoid loop(){ //medidad de los sensores val0 = analogRead(inA0); //luz val1 = analogRead(inA1); //humedad del suelo val8 = digitalRead(inD8); //nivel bateria //control de los sensores if (val0 < iluminacion) { //si luz baja Serial.println("E1LUZ 1 "); } else Serial.println("E1LUZ 0 "); delay(200); //para dar tiempo de recibir el dato if (val1 < humedadsuelo) { //si humedad suelo baja Serial.println("E1HUM 1 "); } else Serial.println("E1HUM 0 "); delay(200); if (val8 == HIGH) { //si batería baja Serial.println("E1BAT 1 "); } else Serial.println("E1BAT 0 "); delay(200); delay(12000);}

Page 47: Control automático de un sistema de riego

47

Implementación

Programación zona 1//Variables sensoresconst int inA0 = 0; //Sensor iluminaciónconst int inA1 = 1; //Sensor humedad de sueloconst int inD8 = 8; //Sensor nivel bateríaconst int iluminacion = 30; //Minimo de luzconst int humedadsuelo = 10; //Minimo de humedad de suelo//Variables auxiliaresint val0 = 0;int val1 = 0;int val8 = 0;//Inicializaciónvoid setup(){ Serial.begin(19200); //activa el puerto serie pinMode(inD8, INPUT); //pin 8 entrada digital pinMode(13, INPUT);}//Programavoid loop(){ //medidad de los sensores val0 = analogRead(inA0); //luz val1 = analogRead(inA1); //humedad del suelo val8 = digitalRead(inD8); //nivel bateria //control de los sensores if (val0 < iluminacion) { //si luz baja Serial.println("E1LUZ 1 "); } else Serial.println("E1LUZ 0 "); delay(200); //para dar tiempo de recibir el dato if (val1 < humedadsuelo) { //si humedad suelo baja Serial.println("E1HUM 1 "); } else Serial.println("E1HUM 0 "); delay(200); if (val8 == HIGH) { //si batería baja Serial.println("E1BAT 1 "); } else Serial.println("E1BAT 0 "); delay(200); delay(12000);}

Page 48: Control automático de un sistema de riego

48

Implementación

Programación zona 2 C on fig ura ciónpu erto Ser ie

Lectu ra sensorn ive l va cío

Re ta rdo

In ic ia liza ció n

C on fig ura cióne n trad as /sa lidas

ba jo Env ía E2NIB 1a l puerto s er ie XBee

SIEnvía E2NIB 0a l puerto s er ie XBee

NO

ba jo Env ía E2BAT 1a l puerto s er ie XBee

SIEnvía E2BAT 0a l pue rto s er ie XBee

NO

Lectu ra sensorn ive l lle no

ba jo Envía E2 NIA 1a l puerto s er ie XBee

SIEnvía E2NIA 0a l puerto s er ie XBee

NO

L ectu ra se nso rba te ría

Page 49: Control automático de un sistema de riego

49

Implementación

Programación zona 2

Page 50: Control automático de un sistema de riego

50

Implementación

Programación zona 3C on fig u ra ció npu e rto Ser ie

R e ta rdo

In ic ia liza c ión

C on fig u ra ció nen trad as/sa lidas

ba jo Envía E3BAT 1a l puerto s er ie XBee

SIEnvía E 3BAT 0a l puerto s er ie XBee

NO

Le ctu ra se nso rba te ría

Le ctu ra pu e rtose r ie XBee

R ecibeR 0BO M 1

activa bo mb aag ua

SIde sa ctiva bo mb aag ua

NO

Page 51: Control automático de un sistema de riego

51

Implementación

Programación zona 3C on fig u ra ció npu e rto Ser ie

R e ta rdo

In ic ia liza c ión

C on fig u ra ció nen trad as/sa lidas

ba jo Envía E3BAT 1a l puerto s er ie XBee

SIEnvía E 3BAT 0a l puerto s er ie XBee

NO

Le ctu ra se nso rba te ría

Le ctu ra pu e rtose r ie XBee

R ecibeR 0BO M 1

activa bo mb aag ua

SIde sa ctiva bo mb aag ua

NO

Page 52: Control automático de un sistema de riego

52

Implementación

Programación zona 3

Page 53: Control automático de un sistema de riego

53

Programación zona 0

Implementación

Co nfigu rac ió npu erto Se rie

R eta rd o

In ic ia liza ció n

Co nfigu rac ió ne ntra d a s/sa lida s

ba jo Env ía R 0B AT 1a l puert o s e rie XBee

SIEn vía R0BAT 0a l puerto s er ie XBee

NO

L e ctu ra sen sorba te ría

L ec tu ra pu er tose rie XBee

R e cibeE1 LUZ 1 a ctiva re le lu z

SIde sa c tiva re le lu z

NO

R e c ibeE1 HUM 1

ac tivae le ctrová lvu la

SIde sac tivae lectr ová lvu la

NO

R e cibeE1 BA T 1 En vía a la rma

SI

NOba jo En vía a la rm a

SI

L ec tu ra sen so rca ud a l

R e cibeE2 BAT 1 En vía a la rma

SI

R e cib eE3 BAT 1 En vía a la rma

SI

R e cibeE2 NIB 1

En v ía pu e r to se r ieXBEE R 0 BO M 1

SI

NO

NO

NO

NO

R e c ibeE2 NIA 1

Envía pu e r to ser ieXBEE R 0 BO M 0

SINO

Page 54: Control automático de un sistema de riego

54

Implementación

Programación zona 0

Page 55: Control automático de un sistema de riego

55

Implementación

Pruebas y resultados Montaje con interruptores y leds

R0

E1

E2E3

Page 56: Control automático de un sistema de riego

56

Implementación

Pruebas y resultados Pruebas de transmisión inalámbrica entre nodos

R0-E1 R0-E2

R0-E3

Page 57: Control automático de un sistema de riego

57

Implementación

Pruebas y resultados Montaje con los componentes reales del sistema

R0 E1

E2E3

Page 58: Control automático de un sistema de riego

58

Estructura

Bloque I Introducción Objetivos

Bloque II Especificaciones Plataforma de desarrollo Arduino Módulo de comunicación inalámbrica XBee Módulo de comunicación GPRS Implementación

Bloque III Presupuesto Conclusiones

Page 59: Control automático de un sistema de riego

59

Presupuesto

Presupuesto materialComponente Unidades Unidad(€) Precio(€)

placa Arduino 4 20,00 80,00shield XBee 4 15,00 60,00XBee serie 1 4 35,00 140,00

shield GPRS + GPRS 1 63,00 63,00sensor humedad de suelo 1 4,50 4,50

sensor iluminación 1 4,00 4,00relé 5 V a 12 V 2 11,00 22,00electroválvula 1 7,50 7,50

sensor de caudal 1 9,50 9,50sensor de nivel de líquidos 2 2,00 4,00sensor de nivel de batería 4 5,00 20,00

bombilla 1 1,00 1,00bomba de agua 1 14,00 14,00

reguladores de voltaje 3 35,00 105,00baterías 4 18,00 72,00placa solar 1 5,00 5,00

mini aerogenerador 1 57,00 57,00micro hidrogenerador 1 25,00 25,00

adaptador AC/DC 3 6,00 18,00cable usb 1 4,00 4,00protoboard 1 5,00 5,00

kit resistencias, led, cables 1 9,00 9,00tuberías y codos 1 20,00 20,00

Total: 749,50

Fases Precio (€)Componentes 749,50Mano de obra 8640,00IGIC (7%) 657,26Total: 10046,76

Presupuesto final

10046,76 €

Page 60: Control automático de un sistema de riego

60

Conclusiones

Se ha realizado el estudio del funcionamiento del hardware libre Arduino.

Se ha realizado el estudio de las redes de sensores inalámbricas.

Se han elegido los componentes del diseño del sistema de riego.

Se ha implementado y probado el prototipo.

Se han alcanzado con éxito los objetivos iniciciales realizando un prototipo del control automático de un sistema de riego, mediante Arduino y redes de sensores inalámbricas.

Page 61: Control automático de un sistema de riego

61

Conclusiones

Líneas futuras Ampliación del número de nodos.

Subir los datos a internet.

Analizar otras variables: temperatura, humedad del aire, radiación solar, precipitaciones de agua de lluvia, etc.

Page 62: Control automático de un sistema de riego

62

CONTROL AUTOMÁTICO DE UN SISTEMA DE RIEGO

Autor: Dailos Badel Ramos Valido Tutores: Francisco Javier del Pino Suárez Juan Antonio Jiménez Rodríguez

Fecha: Junio 2015

PROYECTO FIN DE CARRERA

Ingeniero Técnico Industrial, especialidad en Electrónica Industrial