Sei sulla pagina 1di 7

Institucin Universitaria Cesmag. Madroero John Jairo, Mafla Roguer Jair. CULTIVO DE FRESA.

Madroero John Jairo, Mafla Roguer Jair


jairftmaflou@gmail.com,
Institucin universitaria cesmag

CULTIVO DE FRESA

RESUMENEn este trabajo se realiz una prctica


acorde con lo aprendido y visto en clase sobre la
programacin en CCS en esta prctica se elabor con
el programa PIC C Compiler para programar el micro
chip 18f4550 que es el Microchip maestro y el PIC
16f877A que es microchip esclavo esto se hace con el
fin de que puedan alcanzar todos los dispositivos con
los que se va a trabajar el proyecto de la deteccin de
humedad en el suelo en los cultivos de la fresa, el
sensor que se utiliza en dicho proyecto es el HL-69.
Este informe fue realizado con debidos procedimientos
para llevar a cabo el buen funcionamiento de la prctica
de laboratorio, en el documento se explica los
procedimientos de cada paso a seguir para la
implementacin de un prototipo de medicin de
humedad del suelo.
I.

EINTRODUCCIN

n el presente informe se establece los seguimientos


llevados a cabo en el laboratorio de las practicas que
nos permitieron observar detalladamente cada paso que
se implement en el desarrollo del prototipo de la
medicin del suelo en este proyecto se utilizaron
pantalla grafica para mostrar resultados del o de los
sensores, tarjeta GSM para comunicaciones a larga
distancias, puerto RS 232 el cual es una interfaz que
designa una norma para el intercambio de una serie de
datos binarios entre un DTE (Equipo Terminal de
Datos) y un DCE (Equipo de Comunicacin de Datos),
reloj de tiempo real el cual se implemento es el DS 1307
el cual nos guarda la hora, fecha y ao, y tambin
contamos con un teclado (KEYPAD) matricial 4x4.

teclado 4x4 ya que el principal est copado todo los


puertos y por facilidad se deja que el esclavo tenga
conectado el teclado 4x4 que se utilizara en el sistema
embebido.
OBJETIVOS
General
Conocer la tcnica de la plancha y el acetato para
construir circuitos impresos y desarrollar una prctica
acorde a todo lo visto y aprendido durante el periodo de
clase.
Objetivos especficos

Conocer la tcnica utilizando como elemento de


transferencia el papel fotogrfico o el acetato.
Construir las tarjetas de circuitos impresos de
una capa.
Desarrollar diagramas de flujo y codificar el
programa en CCS COMPILER y Utiliza bien las
libreras para el respectivo proyecto.
Emplear el software de simulacin para verificar
la validez de la solucin.
MARCO TEORICO

Este informe se utilizaron varios materiales, lo aprendido


y visto sobre embebidos los cuales ayudaron al
desarrollo de la prctica del laboratorio a continuacin
se describen los pasos que a seguir los cuales llevaron
a cabo dicha practica
Mdulo HL-69

Esta prctica de laboratorio llevada a cabo en el


presente informe se implement un prototipo de un
sistema de medicin de humedad para el suelo el cual
busca como objetivo lograr que el cultivador est al
tanto de su siembra para l tome las medidas
pertinentes sobre su cultivo mientras recibe la
informacin a su dispositivo mvil mediante avisos de
texto.
En este proyecto se utilizan 2 PICs el cual al principal se
la ha llamado como el maestro ya que de este parten las
instrucciones para cada uno de los conexionados a l y
al secundario ser el esclavo, en el esclavo ira solo el

Mdulo HL-69: Un sensor de humedad de suelo


El mdulo HL-69, un sensor de humedad de suelo
resulta ser otro mdulo que utiliza la conductividad entre
dos terminales para determinar ciertos parmetros
relacionados a agua, lquidos y humedad

Institucin Universitaria Cesmag. Madroero John Jairo, Mafla Roguer Jair. CULTIVO DE FRESA.
Antes hemos hablado de los sensores de humedad
relativa, como el DHT11 y el DHT22. Ambos nos
devuelven la humedad en el ambiente pero no son
capaces de medir la humedad en el suelo. Para este
propsito de usa el Mdulo HL-69, un sensor de
humedad de suelo.

siguen, el cdigo es portable entre plataformas y/o


arquitecturas.
Diagramas de bloques, el diagrama de conexiones,
diagrama de flujo, diagrama de simulacin
y la
codificacin correspondiente como anexo.
Diagrama de conexiones

Caractersticas tcnicas:
Posee dos tipos de salidas, una analgica y una digital.
La salida digital entregar un pulso bajo cuando haya
conductividad suficiente entre cada una de las puntas.
El umbral de disparo se puede establecer moviendo el
potencimetro del circuito de control. En la salida
analgica el nivel de voltaje depender directamente de
cuanta humedad haya en el suelo. Es decir,
dependiendo de cuanta conductividad (producto del
agua en el suelo) haya entre las puntas del mdulo, as
variar el valor entregado por Arduino (entre 0 y 1023).
Y las mediciones sern las siguientes para determinar
cmo o en que rango se encuentra la humedad del
suelo

0 -300
300-700
700-1023

muy mojado
hmedo
seco

Diseo de las tarjetas para realizar el circuito

LENGUAJE C COMPILER
C es un lenguaje de programacin originalmente
desarrollado por Dennis M. Ritchie entre 1969 y 1972 en
los Laboratorios Bell,2 como evolucin del anterior
lenguaje B, a su vez basado en BCPL.

Tarjeta principal

Al igual que B, es un lenguaje orientado a la


implementacin de Sistemas Operativos, concretamente
Unix. C es apreciado por la eficiencia del cdigo que
produce y es el lenguaje de programacin ms popular
para crear software de sistemas, aunque tambin se
utiliza para crear aplicaciones.
Se trata de un lenguaje de tipos de datos estticos,
dbilmente tipificado, de medio nivel pero con muchas
caractersticas de bajo nivel. Dispone de las estructuras
tpicas de los lenguajes de alto nivel pero, a su vez,
dispone de construcciones del lenguaje que permiten un
control a muy bajo nivel. Los compiladores suelen
ofrecer extensiones al lenguaje que posibilitan mezclar
cdigo en ensamblador con cdigo C o acceder
directamente a memoria o dispositivos perifricos.
La primera estandarizacin del lenguaje C fue en ANSI,
con el estndar X3.159-1989. El lenguaje que define
este estndar fue conocido vulgarmente como ANSI C.
Posteriormente, en 1990, fue ratificado como estndar
ISO (ISO/IEC 9899:1990). La adopcin de este estndar
es muy amplia por lo que, si los programas creados lo

Simulacin

Institucin Universitaria Cesmag. Madroero John Jairo, Mafla Roguer Jair. CULTIVO DE FRESA.

muy precisa para que encajen y concuerden los


pines y esto hace ms difcil soldar ya que no
encajaran bien los componentes y la tarjeta no
podra funcionar bien o en peores de los casos
esta le pase un volteje elevado el cual dae el
sensor y los dems cosas que conforman la
PCB (circuito impreso).
II. REFERENCIAS
e-elektronic. (21 de julio de 2015). e-elektronic. Obtenido de
http://e-elektronic.blogspot.com.co/2015/07/arduinotutorial-parte-18-sensor-de.html
sigmaelectronica. (12 de marzo de 2014). sigmaelectronica.
Obtenido de
http://www.sigmaelectronica.net/manuals/M95%20A
RD%201.1.pdf
S

Tarjeta impresa

CONCLUSIONES.
Podemos concluir que para un sistema
embebido es muy complejo por sus diversas
partes que lo conforman y eso hace que la
programacin sea ms difcil de llevar a cabo ya
que los parmetros para nuestro caso se
vuelven un poco complejo de programar
Tambin podemos concluir que para configurar
un esclavo es bastante complejo ya que hay
que realizar un librera el cual permita enviar y
recibir datos del esclavo al maestro que es el
PIC principal
Tambin podemos concluir que el la tcnica del
plantado de doble faz es bastante compleja si
no se sabe realizar bien ya que este debe estar

Institucin Universitaria Cesmag. Madroero John Jairo, Mafla Roguer Jair. CULTIVO DE FRESA.
#include <18F4550.h>
#fuses NOWDT, XT, NOPROTECT, NOLVP,
NOPUT, CPUDIV1,PLL1
#device adc=10
#use delay(clock= 20M)
#use rs232 (BAUD=9600 , XMIT=PIN_C6 ,
RCV=PIN_C7)
#use standard_io(a)
#use standard_io(b)
#use standard_io(c)
#use standard_io(d)
#use standard_io(e)
//#define use_portb_kbd TRUE
#define GLCD_CS1

PIN_B1

// Chip Selection

#define GLCD_CS2

PIN_B2

// Chip Selection

1
2
#define GLCD_DI
PIN_E2
// Data or
Instruction input
#define GLCD_RW
PIN_B7 // Read/Write
#define GLCD_E
PIN_B0// Enable
#define GLCD_RST PIN_B6
// Reset
#include <HDM64GS12.C>
#include <GRAPHICS.C>
/*
#BYTE TRISA=0x85
#BYTE PORTA=0x05
#BYTE TRISB=0x86
#BYTE PORTB=0X06
#BYTE TRISC=0X87
#BYTE PORTC=0X07
#BYTE TRISD=0X88
#BYTE PORTD=0X08
#BYTE TRISE=0X89
#BYTE PORTB=0X09
*/
#include <lcd.c>
#use i2c(scl=PIN_C7,sda=PIN_C6)
CHAR CADENA[22];
unsigned
segundo,minuto,hora,dias,diam,mes,year;
void inicializa_reloj()
{
i2c_start();
i2c_write(0b11010000);
i2c_write(7);
i2c_write(0b00010000);
i2c_stop();
}
void leer_ds1307()
{

i2c_start();
i2c_write(0b11010000);//Reloj escribe
i2c_write(0); // para que el ds1307 se ubique
//en segundos
i2c_stop();
i2c_start();
i2c_write(0b11010001);//reloj lee
segundo=i2c_read(1);
minuto=i2c_read(1);
hora=i2c_read(1);
dias=i2c_read(1);
diam=i2c_read(1);
mes=i2c_read(1);
year=i2c_read(0);
i2c_stop();
}
void establecer_ds1307()
{ i2c_start();
i2c_write(0b11010000);
i2c_write(2);
i2c_write(hora);
i2c_stop();
}
void visualizar_fecha()
{ unsigned int8 decena,unidad;
char caracter;
unidad=hora & 0b00001111;
decena=hora & 0b00110000;
swap(decena);
// hasta este punto tiene numeros
// se deben convertir en caracteres
decena=decena+48;
unidad=unidad+48;
GLCD_RECT(2,2,17,11,1,0);
SPRINTF(CADENA,"%01u
%01u:",decena,unidad);
GLCD_TEXT57(2,5,CADENA,1,1);
unidad=minuto & 0b00001111;
decena=minuto & 0b01110000;
swap(decena);
unidad=unidad+48;
decena=decena+48;

int8
GLCD_RECT(17,2,32,11,1,0);
SPRINTF(CADENA,"%01u
%01u:",decena,unidad);
GLCD_TEXT57(17,5,CADENA,1,1);
unidad=segundo & 0b00001111;
decena=segundo & 0b01110000;
swap(decena);
unidad=unidad+48;
decena=decena+48;
GLCD_RECT(32,2,47,11,1,0);
SPRINTF(CADENA,"%01u

Institucin Universitaria Cesmag. Madroero John Jairo, Mafla Roguer Jair. CULTIVO DE FRESA.
%01u:",decena,unidad);
GLCD_TEXT57(32,5,CADENA,1,1);
//ahora se debe indicar que dia de la semana
es
unidad=dias & 0b00000111;
switch (unidad)
{
case 1:
GLCD_RECT(47,2,83,11,1,0);
CADENA="DOMINGO";
GLCD_TEXT57(47,5,CADENA,1,1);
break;
case 2:
GLCD_RECT(47,2,72,11,1,0);
CADENA="LUNES";
GLCD_TEXT57(47,5,CADENA,1,1);
break;
case 3:
GLCD_RECT(47,2,77,11,1,0);
CADENA="MARTES";
GLCD_TEXT57(47,5,CADENA,1,1);
break;
case 4:
GLCD_RECT(47,2,92,11,1,0);
CADENA="MIERCOLES";
GLCD_TEXT57(47,5,CADENA,1,1);
break;
case 5:
GLCD_RECT(47,2,77,11,1,0);
CADENA="JUEVES";
GLCD_TEXT57(47,5,CADENA,1,1);
break;
case 6:
GLCD_RECT(47,2,83,11,1,0);
CADENA="VIERNES";
GLCD_TEXT57(47,5,CADENA,1,1);
break;
case 7:
GLCD_RECT(47,2,83,11,1,0);
CADENA="SABADO";
GLCD_TEXT57(47,5,CADENA,1,1);
break;
}
// en la segunda fila se infica la fecha
unidad=diam & 0b00001111;
decena=diam & 0b00110000;
swap(decena);
unidad=unidad+48;
decena=decena+48;
GLCD_RECT(2,16,17,32,1,0);
SPRINTF(CADENA,"%01u
%01u:",decena,unidad);
GLCD_TEXT57(2,16,CADENA,1,1);

unidad=mes & 0b00001111;


decena=mes & 0b00010000;
swap(decena);
unidad=unidad+48;
decena=decena+48;
GLCD_RECT(17,16,33,32,1,0);
SPRINTF(CADENA,"%01u
%01u:",decena,unidad);
GLCD_TEXT57(17,16,CADENA,1,1);
unidad=year & 0b00001111;
decena=year & 0b11110000;
swap(decena);
unidad=unidad+48;
decena=decena+48;
GLCD_RECT(33,16,48,32,1,0);
SPRINTF(CADENA,"%01u
%01u:",decena,unidad);
GLCD_TEXT57(33,16,CADENA,1,1);
}
void ver_fecha_hora_rs232()
{ unsigned int8 decena,unidad;
char caracter;
unidad=hora & 0b00001111;
decena=hora & 0b00110000;
swap(decena);
// hasta este punto tiene numeros
// se deben convertir en caracteres
decena=decena+48;
unidad=unidad+48;
GLCD_RECT(2,2,17,11,1,0);
SPRINTF(CADENA,"%01u
%01u:",decena,unidad);
GLCD_TEXT57(2,5,CADENA,1,1);
unidad=minuto & 0b00001111;
decena=minuto & 0b01110000;
swap(decena);
unidad=unidad+48;
decena=decena+48;
GLCD_RECT(17,2,32,11,1,0);
SPRINTF(CADENA,"%01u
%01u:",decena,unidad);
GLCD_TEXT57(17,5,CADENA,1,1);
unidad=segundo & 0b00001111;
decena=segundo & 0b01110000;
swap(decena);
unidad=unidad+48;
decena=decena+48;
GLCD_RECT(32,2,47,11,1,0);
SPRINTF(CADENA,"%01u
%01u:",decena,unidad);

Institucin Universitaria Cesmag. Madroero John Jairo, Mafla Roguer Jair. CULTIVO DE FRESA.
GLCD_TEXT57(32,5,CADENA,1,1);
//ahora se debe indicar que dia de la semana
es
unidad=dias & 0b00000111;
switch (unidad)
{
case 1:
GLCD_RECT(47,2,83,11,1,0);
CADENA="DOMINGO";
GLCD_TEXT57(47,5,CADENA,1,1);
break;
case 2:
GLCD_RECT(47,2,72,11,1,0);
CADENA="LUNES";
GLCD_TEXT57(47,5,CADENA,1,1);
break;
case 3:
GLCD_RECT(47,2,77,11,1,0);
CADENA="MARTES";
GLCD_TEXT57(47,5,CADENA,1,1);
break;
case 4:
GLCD_RECT(47,2,92,11,1,0);
CADENA="MIERCOLES";
GLCD_TEXT57(47,5,CADENA,1,1);
break;
case 5:
GLCD_RECT(47,2,77,11,1,0);
CADENA="JUEVES";
GLCD_TEXT57(47,5,CADENA,1,1);
break;
case 6:
GLCD_RECT(47,2,83,11,1,0);
CADENA="VIERNES";
GLCD_TEXT57(47,5,CADENA,1,1);
break;
case 7:
GLCD_RECT(47,2,83,11,1,0);
CADENA="SABADO";
GLCD_TEXT57(47,5,CADENA,1,1);
break;
}
// en la segunda fila se infica la fecha
unidad=diam & 0b00001111;
decena=diam & 0b00110000;
swap(decena);
unidad=unidad+48;
decena=decena+48;
GLCD_RECT(2,16,17,32,1,0);
SPRINTF(CADENA,"%01u
%01u:",decena,unidad);
GLCD_TEXT57(2,16,CADENA,1,1);

unidad=mes & 0b00001111;


decena=mes & 0b00010000;
swap(decena);
unidad=unidad+48;
decena=decena+48;
GLCD_RECT(17,16,33,32,1,0);
SPRINTF(CADENA,"%01u
%01u:",decena,unidad);
GLCD_TEXT57(17,16,CADENA,1,1);
unidad=year & 0b00001111;
decena=year & 0b11110000;
swap(decena);
unidad=unidad+48;
decena=decena+48;
GLCD_RECT(33,16,48,32,1,0);
SPRINTF(CADENA,"%01u
%01u:",decena,unidad);
GLCD_TEXT57(33,16,CADENA,1,1);
}
void main()
{
setup_adc_ports(AN0_TO_AN2|VSS_VDD);
setup_adc(ADC_CLOCK_DIV_2);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL|
RTCC_DIV_64);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
enable_interrupts(INT_AD);
enable_interrupts(GLOBAL);
lcd_init();
//Setup_Oscillator parameter not selected from
Intr Oscillator Config tab
SET_TRIS_A(255);
SET_TRIS_B(0);
SET_TRIS_D(0);
SET_TRIS_C(0);
SET_TRIS_E(0);
GLCD_INIT(ON);

glcd_fillscreen(1);
CADENA=" CULTIVO DE FRESA";
GLCD_TEXT57(5,5,CADENA,1,0);
CADENA="REALIZADO POR:";
GLCD_TEXT57(30,18,CADENA,1,0);
CADENA="JOHN CAICEDO";
GLCD_TEXT57(35,32,CADENA,1,0);

Institucin Universitaria Cesmag. Madroero John Jairo, Mafla Roguer Jair. CULTIVO DE FRESA.

CADENA="JAIR MAFLA";
GLCD_TEXT57(37,43,CADENA,1,0);
DELAY_MS(1000);
glcd_fillscreen(0);
GLCD_RECT(1,1,127,63,0,1);
// LEER EL CANAL 0
inicializa_reloj();

printf("Ingreso en modo configuracion


fecha\n\r");
printf(lcd_putc,"\f DS1307 en I2C");
printf(lcd_putc,"\n MODO
CONFIGURACION");
comando=0;
while(comando!='X')

UNSIGNED INT16 LEIDO, HUMEDAD;


UNSIGNED INT8 X;
unsigned int8 estado, comando;

_\n\r");

for(;;)
/*{
SET_ADC_CHANNEL(0);
DELAY_US(20);
LEIDO=READ_ADC();
if((LEIDO>700)&&(LEIDO<1023))
{
CADENA="SUELO SECO :";
GLCD_TEXT57(5,5,CADENA,1,1);
GLCD_RECT(62,5,90,15,1,0);
SPRINTF(CADENA,"%04lu ",LEIDO);
GLCD_TEXT57(62,5,CADENA,1,1);
}
if((LEIDO>300)&&(LEIDO<700))
{
CADENA="SUELO HUMEDO :";
GLCD_TEXT57(5,5,CADENA,1,1);
GLCD_RECT(72,5,102,15,1,0);
SPRINTF(CADENA,"%04lu ",LEIDO);
GLCD_TEXT57(72,5,CADENA,1,1);
}
if((LEIDO>0)&&(LEIDO<300))
{
CADENA="SUELO MOJADO :";
GLCD_TEXT57(5,5,CADENA,1,1);
GLCD_RECT(80,5,110,15,1,0);
SPRINTF(CADENA,"%04lu ",LEIDO);
GLCD_TEXT57(80,5,CADENA,1,1);

{ printf("\n\r__________________________
printf("menu DS1307\n\r");
printf("(V)-Ver fecha-hora\n\r");
printf("(F)-Cambiar fecha-hora\n\r");
printf("(X)-Salir\n\r");
printf("Ingrese comando:\n\r");
comando=getc();
putc(comando);
printf("\n\r");
switch (comando)
{ case 'V':
printf("Usted selecciono ver fechahora\n\r");
leer_ds1307();
ver_fecha_hora_rs232();
break;
case 'F':
printf("Usted selecciono cambiar
fecha-hora\n\r");
printf("HH:MM:SS\n\r");
unsigned int8 caracter1,caracter2;
caracter1=getc();
putc(caracter1);
caracter2=getc();
putc(caracter2);
// se deben convertir a numeros y
// despues a BCD.
caracter1=caracter1-48;//decena
caracter2=caracter2-48;//unidad
swap(caracter1);
hora=(caracter1)|(caracter2);
establecer_ds1307();
break;
}
}
delay_ms(1000);
}
else
{
leer_ds1307();
visualizar_fecha();
delay_ms(1000);
}

} */

//CONFIGURACION RS232
estado=input_state(PIN_A3);
if (estado==0)
{

Potrebbero piacerti anche