Primero que nada felicito a esta pag. por su contenido, soy nuevo en el foro y en el mundo
de los PIC.
Estoy haciendo un Proyecto (dispensador de alimento para perros) que lleva un PIC16F628a el cual controla un LCD 2*16, ya estube estudiando en esta semana la programacion del PIC con el Mikro Basic Pro y acavo de ver ejemplos de como usar las librerias del LCD.
Ahora.
El Proyecto funciona asi:
Al ensender el dispensador debe de ensender el LCD con un mensaje (txt1) en la Primera linea y en la segunda un segundo texto (tx2), despues debe de borrarse por 2seg. y luego en la primera linea aparecer el txt2 que antes habia aparecido y en la segunda linea debe aparecer algo asi ( CADA 00:00 h/m ).
Por medio de 4 botones modificar la segunda linea mmmmmm
(1 boton = mover el cursor hacia la izq.)
(2 boton = mover el cursor hacia la der.)
(3 boton = aumentar el valor del 0 (aumentando 1 por cada vez que lo precione))
(4 boton = disminuir el valor del 0 (disminuir 1 por cada vez que lo precione))
Lo anterior es para poder controlar la hra para darle de comer a la mascota para que cada cierto tiempo programado se active un motor que arroje la comida osea.
cierto tiempo y automaticamente vuelva el mismo valor predeterminado. (hasta que no le pongamos STOP y modifiquemos el tiempo.)
Aparte tiene un cto. electrico que es un detector de precensia, cuando no haya comida prenda un led y me aparesca un mensaje en la primera linea Txt3(Falta_de Comida) hasta que no se llene el recipiente, no se apagara el led y vuelve a aparecer el txt1 en la primera linea.
Espero haberme explicado bien
Por eso necesito ayuda con el codigo fuente que se me esta complicando al no manejar el 100% la programacion de PIC.
Ahorita les pongo el codigo que llevo apenas que es donde estoy atorado ya que no se como hacer lo de modificar la segunda linea del LCD con botones (CADA 00:00 h/m)
HELP!!!!!
PLZ con sugerencias, comentarios, experiencias, codigos, tutos, etc.
Gracias por su ayuda por adelantado
program alimentador_de_mascota
'***programa para PIC16F628a
'***LCD 2*16
'***Dispensador de Alimento***
'conexion del LCD
dim LCD_RS as sbit at RB4_bit
LCD_EN as sbit at RB5_bit
LCD_D7 as sbit at RB3_bit
LCD_D6 as sbit at RB2_bit
LCD_D5 as sbit at RB1_bit
LCD_D4 as sbit at RB0_bit
dim LCD_RS_Direction as sbit at TRISB4_bit
LCD_EN_Direction as sbit at TRISB5_bit
LCD_D7_Direction as sbit at TRISB3_bit
LCD_D6_Direction as sbit at TRISB2_bit
LCD_D5_Direction as sbit at TRISB1_bit
LCD_D4_Direction as sbit at TRISB0_bit
'Termina la conexion del LCD
dim txt1 as char [16]
txt2 as char [9]
txt3 as char [16]
main:
CMCON=7
TRISB=0
TRISA=%00001111
PORTB=0xFF
PORTA=0
TRISB=0xFF
txt1= "DISPENSADOR_2010"
txt2= "STARK_IND"
txt3= "FALTA_DE_COMIDA."
Lcd_init()
Lcd_Cmd(_LCD_CLEAR)
Lcd_Cmd(_LCD_CURSOR_OFF)
Lcd_Out(1,4, txt2)
Lcd_out(1,1, txt1)
delay_ms(2000)
Lcd_Cmd(_LCD_CLEAR)
********************************************************
AHORA NO SE COMO SEGUIRLE POR QUE NO SE COMO IMPRIMIR EL VALOR DE UNA VARIABLE EN EL LCD
SI A=5 (EN EL LCD DIGA (CADA 00:05 H/S)
SI B=3 (EN EL LCD DIGA (CADA 00:35 H/S)
Y QUE EL BOTON (PLAY/STOP) ACTIVE SU DESENSO PARA ACTIVAR UN MOTOR Y DESPUES DE CIERTO TIEMPO VUELVA A ESTAR EN (CADA 00:35 H/S), HASTA QUE NO VUELVA A PROGRAMARLO PONIENDO STOP Y MODIFICANDO LAS VARIABLES CON LOS OTROS BOTONES.
************************************************************
SE QUE ES MUY CONFUSO Y ES MUCHO PEDIR PERO NECESITO QUE ME AYUDEN Y ORIENTEN PARA PODER FINALIZAR MI PROYECTO.
GRACIAS DE NUEVO POR SU AYUDA.
SEGUIRE PENSANDO COMO HACERLE.
de los PIC.
Estoy haciendo un Proyecto (dispensador de alimento para perros) que lleva un PIC16F628a el cual controla un LCD 2*16, ya estube estudiando en esta semana la programacion del PIC con el Mikro Basic Pro y acavo de ver ejemplos de como usar las librerias del LCD.
Ahora.
El Proyecto funciona asi:
Al ensender el dispensador debe de ensender el LCD con un mensaje (txt1) en la Primera linea y en la segunda un segundo texto (tx2), despues debe de borrarse por 2seg. y luego en la primera linea aparecer el txt2 que antes habia aparecido y en la segunda linea debe aparecer algo asi ( CADA 00:00 h/m ).
Por medio de 4 botones modificar la segunda linea mmmmmm
(1 boton = mover el cursor hacia la izq.)
(2 boton = mover el cursor hacia la der.)
(3 boton = aumentar el valor del 0 (aumentando 1 por cada vez que lo precione))
(4 boton = disminuir el valor del 0 (disminuir 1 por cada vez que lo precione))
Lo anterior es para poder controlar la hra para darle de comer a la mascota para que cada cierto tiempo programado se active un motor que arroje la comida osea.
CADA 02:30 h/m (este valor fue programado con lo anterior)
y otro boton (PLAY/STOP) es el que corre el tiempo hasta llegar a 00:00 y activa el motor por cierto tiempo y automaticamente vuelva el mismo valor predeterminado. (hasta que no le pongamos STOP y modifiquemos el tiempo.)
Aparte tiene un cto. electrico que es un detector de precensia, cuando no haya comida prenda un led y me aparesca un mensaje en la primera linea Txt3(Falta_de Comida) hasta que no se llene el recipiente, no se apagara el led y vuelve a aparecer el txt1 en la primera linea.
Espero haberme explicado bien
Por eso necesito ayuda con el codigo fuente que se me esta complicando al no manejar el 100% la programacion de PIC.
Ahorita les pongo el codigo que llevo apenas que es donde estoy atorado ya que no se como hacer lo de modificar la segunda linea del LCD con botones (CADA 00:00 h/m)
HELP!!!!!
Gracias por su ayuda por adelantado
program alimentador_de_mascota
'***programa para PIC16F628a
'***LCD 2*16
'***Dispensador de Alimento***
'conexion del LCD
dim LCD_RS as sbit at RB4_bit
LCD_EN as sbit at RB5_bit
LCD_D7 as sbit at RB3_bit
LCD_D6 as sbit at RB2_bit
LCD_D5 as sbit at RB1_bit
LCD_D4 as sbit at RB0_bit
dim LCD_RS_Direction as sbit at TRISB4_bit
LCD_EN_Direction as sbit at TRISB5_bit
LCD_D7_Direction as sbit at TRISB3_bit
LCD_D6_Direction as sbit at TRISB2_bit
LCD_D5_Direction as sbit at TRISB1_bit
LCD_D4_Direction as sbit at TRISB0_bit
'Termina la conexion del LCD
dim txt1 as char [16]
txt2 as char [9]
txt3 as char [16]
main:
CMCON=7
TRISB=0
TRISA=%00001111
PORTB=0xFF
PORTA=0
TRISB=0xFF
txt1= "DISPENSADOR_2010"
txt2= "STARK_IND"
txt3= "FALTA_DE_COMIDA."
Lcd_init()
Lcd_Cmd(_LCD_CLEAR)
Lcd_Cmd(_LCD_CURSOR_OFF)
Lcd_Out(1,4, txt2)
Lcd_out(1,1, txt1)
delay_ms(2000)
Lcd_Cmd(_LCD_CLEAR)
********************************************************
AHORA NO SE COMO SEGUIRLE POR QUE NO SE COMO IMPRIMIR EL VALOR DE UNA VARIABLE EN EL LCD
SI A=5 (EN EL LCD DIGA (CADA 00:05 H/S)
SI B=3 (EN EL LCD DIGA (CADA 00:35 H/S)
Y QUE EL BOTON (PLAY/STOP) ACTIVE SU DESENSO PARA ACTIVAR UN MOTOR Y DESPUES DE CIERTO TIEMPO VUELVA A ESTAR EN (CADA 00:35 H/S), HASTA QUE NO VUELVA A PROGRAMARLO PONIENDO STOP Y MODIFICANDO LAS VARIABLES CON LOS OTROS BOTONES.
************************************************************
SE QUE ES MUY CONFUSO Y ES MUCHO PEDIR PERO NECESITO QUE ME AYUDEN Y ORIENTEN PARA PODER FINALIZAR MI PROYECTO.
GRACIAS DE NUEVO POR SU AYUDA.
SEGUIRE PENSANDO COMO HACERLE.
Última edición: