TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Mr.pelax en 06 de Junio de 2013, 00:55:39

Título: Invernadero Automatizado
Publicado por: Mr.pelax en 06 de Junio de 2013, 00:55:39
Hola gente de este exelente foro el cual lo tenia abandonado, me encuentro realizando un invernadero automatizado. Vengo avanzando muy bien con el proyecto, pero me quede trabado en una parte.
No logro hacer que me anime un caracter que tengo creado en la memoria CGRAM, cuando se activa una salida en este caso un led.

Logre que me anime el caracter pero de forma muy lenta y mi intencion es que sea mas rapido, por cierto el caracter creado representa un Cooler.

Espero que me ayuden saludos! :mrgreen:


Parte del codigo.

void alarms(void)
{
if ((hour == ah1 )&&(min == am1))//
      {  
          output_bit(rele1,TRUE);
          for(m=8;m<=8;++m){
          lcd_gotoxy(m,3); // 2º fila
          lcd_send_byte(1,0);//envio dato caracter GCRAM = (0,0x40)
          delay_ms(500);
          lcd_gotoxy(m,3);// 2º fila
          lcd_send_byte(1,1);//envio dato caracter GCRAM = (0,0x48)
          //printf(lcd_putc,"\f");
          delay_ms(100);
          }
      }
}
Título: Re: Invernadero Automizado
Publicado por: ppyote en 06 de Junio de 2013, 03:25:30
Con los retardos tan grandes que tienes en ese código, normal que te vaya lento
Título: Re: Invernadero Automizado
Publicado por: Mr.pelax en 06 de Junio de 2013, 11:56:05
Hola les cambie los retardos y sigue siendo muy lento alguna otra forma habra para que se realize la animacion mas rapido ?

Gracias.
Título: Re: Invernadero Automizado
Publicado por: AleSergi en 06 de Junio de 2013, 12:37:40
Hola que estas emleando?. CCS? me parece?
te cuento que estuve viendo la rutina del mísmo, la que maneja el LCD, pues bien resulta que está bien lograda, y espera a que se desocupe el LCD para enviar otro comando/caracter, asi que podrías eliminar esos retardos, tené en cuenta que por cada caracter/byte que envias tarda  unos 40ms en procesarlo.
Título: Re: Invernadero Automizado
Publicado por: Mr.pelax en 08 de Junio de 2013, 14:55:19
Muchas gracias AleSergi por tu ayuda , si estoy usando CCS. Ya la animacion me quedo bien, ahora tengo un problema en la configuracion de la alarma yo la seteo para que se active por ejemplo: a las 10:08, se enciende el led a la hora programada con la animacion del cooler pero al cabo de 1min, la animacion se desactiva pero el led continua encendido. No se como hacer para que la animacion del cooler siga activa, ya intente todo y nada  :5]

parte del codigo:

void alarms(void)
{
          lcd_gotoxy(8,3); // 2º fila
          lcd_send_byte(1,0);//envio dato caracter GCRAM = (0,0x40)
          delay_ms(50);

if ((hour == ah1 )&&(min == am1))
     {       
          output_bit(rele1,TRUE);
          animaciones();
     }
}

Adjunto actualizacion del codigo, librerias, hex y animacion en proteus.

SAludos y gracias