Está en la página 1de 12

REPORTE DE PROYECTO FINAL

SENSOR DE HUMEDAD DE SUELO


MICROCONTROLADORES
Jardn, la parte correspondiente a nuestro equipo
ING. PABLO MARTNEZ JUREZ

Arellano Del Valle Ivn Salvador Castro Snchez Jonathan Garca Brena Omar Santiago Antonio Edwin Aldrin

OBJETIVO

El objetivo de nuestro proyecto, es que por medio de un microcontrolador PIC16F887 podamos llevar a cabo el testeo y sondeo del estado en que se encuentre el jardn de un hogar. Bsicamente, el sondeo se realizar a partir del nivel de humedad que nuestro jardn, informndonos del porcentaje de humedad que poseen y accionando, en caso de ser necesario por un bajo porcentaje, una bomba de agua para riego automtico del jardn. De esta manera, podemos llevar a cabo un control estricto del estado de nuestro jardn y mantenerlo en un estado ptimo.

MARCO TERICO

Con la prctica, podremos descubrir el funcionamiento de nuestro sistema de control de riego por sensores. Bsicamente consiste en un sensor de humedad en la tierra y censa la cantidad de humedad que existe en dicho instante dentro del rango de dicho sensor. Otra parte de nuestro dispositivo es el PIC16F887, que se encarga de recibir la informacin y enviarla a su siguiente destino, que son los que nos mostrarn los resultados obtenidos dentro del sondeo de nuestro sensor.

SISTEMA DE CONTROL DE HUMEDAD

Este, es un sistema que se encargar de controlar la humedad que existe en donde se encuentre nuestro sensor. El sensor un FC28, es bsicamente un divisor de voltaje; mientras ms hmedo se encuentre el suelo, mayor voltaje dejar fluir, hasta llegar a un estado de 100% de carga. Consta de distintos niveles de voltaje, que nos marcarn el grado de humedad o sequa que exista en nuestro suelo; cuando el grado de humedad sea casi nulo, no existir un paso de voltaje y no censar nada. Nuestro sistema, depende directamente del microcontrolador PIC16F887, este pequeo encapsulado se encarga de captar la seal analgica que enva nuestro sensor de humedad de suelo, y convertirlo en una seal analgica, procesarla y enviarla a un Display LCD que nos mostrar el nivel de humedad y el estado en que se encuentre nuestra planta o jardn.

COMPONENTES

La implementacin del proyecto se llevar a cabo en una maqueta representativa de una casa. Los componentes que nosotros utilizamos, son los siguientes: 3 Sensores de humedad de suelo FC28 Resistencias de 330 Ohms Leds 3 Displays LCD 3 reguladores de voltaje MC7805CT 3 bateras de 9 Volts 3 Macetas para demostracin 3 PIC16F887

A continuacin, mostramos el cdigo de programacin en lenguaje C para control del microcontrolador: #include <16f887.h> #use delay (clock=1000000) #include <lcd.c> #use standard_io(C) void main() {

unsigned long valor=0; float volt; set_tris_d(0x00); setup_adc( ADC_CLOCK_INTERNAL ); setup_adc_ports(ALL_ANALOG); set_adc_channel(0); lcd_init(); delay_ms(200); printf(lcd_putc,"!!Testing!!"); delay_ms(500); lcd_putc("\f"); while(1) { inicio: delay_ms(1000); lcd_putc("\f"); valor = read_adc(); volt = (float)valor / 51 ; lcd_gotoxy(1,1); printf(lcd_putc,"JARDIN_ITO"); // lcd_gotoxy(1,2); // printf(lcd_putc,"VOLTAJE = %g V",volt);

output_low(PIN_C0); output_high(PIN_C1); output_high(PIN_C2); output_high(PIN_C3); output_high(PIN_C4); } if(volt>2.22 && volt <=2.83) { lcd_gotoxy(1,2); printf(lcd_putc,"Humedad del 60"); output_low(PIN_C0); output_low(PIN_C1); output_high(PIN_C2); output_high(PIN_C3); output_high(PIN_C4); } if(volt>2.83 && volt <=3.44) { lcd_gotoxy(1,2); printf(lcd_putc,"Humedad del 40"); output_low(PIN_C0); output_low(PIN_C1); output_low(PIN_C2); output_high(PIN_C3); output_high(PIN_C4); } if(volt>3.44 && volt <=4.05) { lcd_gotoxy(1,2); printf(lcd_putc,"Humedad del 20"); delay_ms(3000); lcd_gotoxy(1,2); printf(lcd_putc," "); lcd_gotoxy(1,2); printf(lcd_putc,"!!RIEGAME"); delay_ms(3000); output_low(PIN_C0); output_low(PIN_C1); output_low(PIN_C2); output_low(PIN_C3); output_high(PIN_C4); } if(volt>4.05) { lcd_gotoxy(1,2);

if(volt>=1 && volt <=1.613) { lcd_gotoxy(1,2); printf(lcd_putc,"Humedad del 100"); output_high(PIN_C0); output_high(PIN_C1); output_high(PIN_C2); output_high(PIN_C3); output_high(PIN_C4); } if(volt>1.613 && volt <=2.22) { lcd_gotoxy(1,2); printf(lcd_putc,"Humedad del 80");

printf(lcd_putc,"!!MUERO MUERO"); delay_ms(3000); lcd_gotoxy(1,2); printf(lcd_putc,"!!MUERO MUERO"); lcd_gotoxy(1,2); printf(lcd_putc,"!!MUERO MUERO"); delay_ms(3000); output_low(PIN_C0); output_low(PIN_C1); output_low(PIN_C2); output_low(PIN_C3); output_low(PIN_C4); } } }

En la imagen de la parte superior, se observa la simulacin del programa en Proteus, podemos ver como nos muestra el resultado en el Display LCD.

Tenemos tambin la imagen del circuito impreso utilizado para la elaboracin de las placas de nuestro sistema.

Otro diseo implementado para nuestra maqueta, funciona de la misma manera, a travs del sensor de humedad, pero el resultado ser arrojado en una Matriz de Leds, mostrando el estado en que se encuentre la planta, Feliz, si tiene suficiente humedad o Triste si el nivel de humedad no es suficiente y en un estado crtico, nos mostrar un !; el cdigo implementado, es el siguiente: #include <16f887.h> #use delay (clock=1000000) //#include <lcd.c> #use standard_io(C) #use standard_io(D) #use standard_io(B) void main() { unsigned long valor=0; float volt; set_tris_d(0x00); setup_adc( ADC_CLOCK_INTERNAL );

setup_adc_ports(ALL_ANALOG); set_adc_channel(0); while(1) { inicio: delay_ms(1000); valor = read_adc(); volt = (float)valor / 51 ; if(volt>=1 && volt <=1.613) { //primer panel carita 1 output_low(PIN_D0); output_HIGH(PIN_D1); output_HIGH(PIN_D2); output_low(PIN_D3); output_low(PIN_D4); output_HIGH(PIN_D5); output_HIGH(PIN_D6); output_LOW(PIN_D7); output_HIGH(PIN_C0); output_low(PIN_C1); output_HIGH(PIN_C2); output_HIGH(PIN_C3); output_HIGH(PIN_C4); output_LOW(PIN_C5); output_low(PIN_C6); output_HIGH(PIN_C7); delay_ms(125); //-------------------//SEGUNDO panel carita 1 output_low(PIN_D0); output_high(PIN_D1); output_LOW(PIN_D2); output_low(PIN_D3); output_low(PIN_D4); output_LOW(PIN_D5); output_high(PIN_D6); output_LOW(PIN_D7); //tercer panel carita 1 output_low(PIN_D0); output_low(PIN_D1); output_LOW(PIN_D2); output_high(PIN_D3); output_high(PIN_D4); output_LOW(PIN_D5); output_low(PIN_D6); output_LOW(PIN_D7); output_HIGH(PIN_C0); output_low(PIN_C1); output_high(PIN_C2); output_high(PIN_C3); output_HIGH(PIN_C4); output_HIGH(PIN_C5); output_HIGH(PIN_C6); output_HIGH(PIN_C7); delay_ms(125); //-------------------} if(volt>1.613 && volt <=2.22) { output_HIGH(PIN_C0); output_HIGH(PIN_C1); output_LOW(PIN_C2); output_LOW(PIN_C3); output_HIGH(PIN_C4); output_HIGH(PIN_C5); output_HIGH(PIN_C6); output_HIGH(PIN_C7); delay_ms(125); //--------------------

if(volt>2.22 && volt <=2.83) { } if(volt>2.83 && volt <=3.44) {

} if(volt>3.44 && volt <=4.05) { //primer panel carita 2 output_low(PIN_D0); output_HIGH(PIN_D1); output_HIGH(PIN_D2); output_low(PIN_D3); output_low(PIN_D4); output_HIGH(PIN_D5); output_HIGH(PIN_D6); output_LOW(PIN_D7); output_high(PIN_C0); output_high(PIN_C1); output_high(PIN_C2); output_low(PIN_C3); output_high(PIN_C4); output_LOW(PIN_C5); output_low(PIN_C6); output_low(PIN_C7); delay_ms(125); //-------------------//SEGUNDO panel carita 2 output_low(PIN_D0); output_high(PIN_D1); output_LOW(PIN_D2); output_low(PIN_D3); output_low(PIN_D4); output_LOW(PIN_D5); output_high(PIN_D6); output_LOW(PIN_D7);

output_HIGH(PIN_C0); output_low(PIN_C1); output_LOW(PIN_C2); output_high(PIN_C3); output_HIGH(PIN_C4); output_HIGH(PIN_C5); output_HIGH(PIN_C6); output_HIGH(PIN_C7); delay_ms(125); //-------------------//tercer panel carita 2 output_low(PIN_D0); output_low(PIN_D1); output_LOW(PIN_D2); output_high(PIN_D3); output_high(PIN_D4); output_LOW(PIN_D5); output_low(PIN_D6); output_LOW(PIN_D7); output_HIGH(PIN_C0); output_high(PIN_C1); output_high(PIN_C2); output_low(PIN_C3); output_HIGH(PIN_C4); output_HIGH(PIN_C5); output_HIGH(PIN_C6); output_HIGH(PIN_C7); delay_ms(125); //-------------------} if(volt>4.05) { output_high(PIN_B7); output_low(PIN_D0); output_low(PIN_D1); output_low(PIN_D2); output_high(PIN_D3); output_HIGH(PIN_D4);

output_HIGH(PIN_D5); output_low(PIN_D6); output_low(PIN_D7); output_LOW(PIN_C0); output_LOW(PIN_C1); output_HIGH(PIN_C2); output_LOW(PIN_C3); output_LOW(PIN_C4); output_LOW(PIN_C5); output_LOW(PIN_C6); output_LOW(PIN_C7);

}}

delay_ms(15000); //-------------------output_low(PIN_B7); }

Anexos: Documentacin fotogrfica

Figura 1.- Sensor de hmeda, incluye muestra de la sonda

Figura 2.- Circuito de control, incluyendo display lcd para mostrar porcentaje de humedad.

Figura 3.- Maqueta esttica, elemento complementario a la maqueta general elaborada por el grupo.

Conclusiones. En el desarrollo de este proyecto se qued de manifiesto la importancia de los microcontroladores en el mundo real, se usaron y reforzaron conceptos aprendidos en la materia como lo son el uso del convertidor analgico-digita, timers y configuracin de puertos, tambin se abre la perspectiva de la ventaja del desarrollo de proyectos de domtica con el uso del microcontrolador 16f887, siendo entre sus ventajas el bajo costo y amplio nmero de puertos para su interaccin con el medio, se da un contraste muy alto entre el costo del proyecto desarrollado y los similares existentes de manera comercial, siendo estos ltimos de precio bastante elevado y ambos de calidad similar. La facilidad de utilizacin del microcontrolador es una gran opcin para el desarrollo de elementos de control que requieran de un monitoreo constante y de bajo consumo de energa.

También podría gustarte