Autor Tema: Iniciando con glcd 128x64  (Leído 85456 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Iniciando con glcd 128x64
« en: 20 de Septiembre de 2008, 01:39:40 »
Hola saludos!

Estoy empezando a practicar con el glcd.

Me tiene muy entretenido.

Posteare por aqui los avances que vaya realizando!

Quiero pasar imagénes por el glcd.Por ahora estoy revisando bien las librerias.

La imagen es un link al demo de lo que he avanzado.

Falta mucho pero ahi vamos!

Por cierto

utilice un pic16f88 @8MHz
El controlador del lcd es el ks108
GLCD JHD-12864A
Generador Todopic 3.9

CCS C 4.075
Gen

Hasta pronto!



Hola nuevamente!

Zombie poweR  :shock: !!

Aqui otro video ya con una imagen bmp en el lcd.NAda del otro mundo , todo leyendo de aqui mismito foro.

Adjunto archivos en un comprimido rar.
Simulacion en proteus
Programa fuente
Cabeceras modificadas
Código Hex

Lo que se modifico de las librerias fueron los #DEFINE para los pines de control,además cambie output_d(X) por output_b(); ya que este pic no tiene puerto d.
Lo mismo con set_tris_d(); por set_tris_b();




Ahora tengo esto , pero desenpolvando un pic18F4550   :mrgreen:


« Última modificación: 22 de Septiembre de 2008, 04:08:01 por AKENAFAB »

Desconectado droky

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 628
    • Diseños radikales libres
Re: Iniciando con glcd 128x64
« Respuesta #1 en: 20 de Septiembre de 2008, 02:12:36 »
Muy buenos los efectos con los circulos. Te está quedando muy bien la demo. Me recuerda las demos de la epoca de la demoscene con los Spectrum :))

SAlu2
Yo... he visto cosas que vosotros no creeríais... atacar naves en llamas más allá de Orión, he visto rayos C brillar en la oscuridad cerca de la puerta Tannhäuser.
Todos esos momentos se perderán en el tiempo como lágrimas en la lluvia.
Es hora de morir.

Si me buscas en twitter, me tienes por @radikaldesig

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Iniciando con glcd 128x64
« Respuesta #2 en: 22 de Diciembre de 2008, 19:05:10 »
gracias Droky


Hola amigos!

No he olvidado este tema sino que he investigado un poco más y ahora posteo con más fundamentos.

ahora estoy trabajando con una herramienta bitmap2LCD para Generar la imagen en un a tabla de constantes de 1024 bytes en este caso. Lo que equivale cada pantallazo

Estoy usando la version  básica sufieciente por estos momentos.

Una vez instalado abrimos el programa y selecionamos el tamaño de nuestro display dando click en LCDmatrix.



La siguiente es la barra de herramientas , el boton que esta encerrado en rojo es el más importante para esto  :mrgreen: es para importar la imagen.
Solo importa imagenes bmp y jpeg. Aqui usaré bmp monocromatico porque mi glcd es asi  :mrgreen:.

Las demás como un clasico paint, Llenar,linea,circulo,barra,texto,etc..

Hay un boton con la imgen de un ojo , ese s una imagen previa de como se veria en el glcd.




ahora importamos una imagen , si esta es mayor al area que escogimos en LCDmatriz , nos da la opcion de ajustar o dejar tal cual , yo no recomiendo ajustar porque distorciona la imagen,seria mejor que la contrayeran con otro programa y atenerse a los parametos de su glcd , en mi caso 128x64.

Bueno escogemos la imagen y la importamos , y damos Paste (pegar porque sino s epeirde la imagen)en caso de que esto pase , dan click en FILE /Close artwork and table of constants     Esto para cargar nuevamente la imagen.

Noten que aparece una nueva Ventana con otras herramientas con nombre File & encoder manager,en ella especificamos como genere el codigo de la imagen.





ya que tenemos nuestra imagen desbes configurar la salida, asi que damos click en FIle/Configurations and preferences

Sale una ventana y para este caso que trabajo con CCS C , genero asi mi tabla de constantes , tiene varias opciones , ahi la que ustedes prefieran o se adapte mejor a su trabajo. Aqui yo le indico que la quiero de la siguiente forma : Constante spro linea = 8 , formato d ela constante 0x+data esto me lo daria en HEX 0x00 0xFF , etc... , Separador de constante " , "  Prefijo del comentario  " /* */ " , Final de la linea " none " , Extencion del archivo "*.h"



Ahora en la ventana " File & encoder manager "

damos click en



Para generar la tabla , Guardar la tabla , guardar el bmp.

Una vez generada la tabla la guardamos.

Al abrir el archivo con el procesador de texto o el CCS C veremos algo asi :





Aqui les dejo el programa de ejemplo donde guardamos la imagen en el uControlador.

pic18F252 Oscilador HS+PLL

Cristal de 8 MHz

Adjunto código en CCS C, simulacion en Isis proteus e imagenes de muestra xD


Código: [Seleccionar]
#include <18F252.h>
#FUSES H4,NOOSCSEN,PUT,BROWNOUT,BORV42,NOWDT,CCP2C1,NOLVP,NODEBUG
#use delay(clock=32M)


#include "HDM64GS12.c"
#include "graphics.c"

//--------
const int8 imagen[64][16] = {

 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
 0x80 , 0x00 , 0x00 , 0x00 , 0x30 , 0xF8 , 0x00 , 0x00
 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01
 0x80 , 0x00 , 0x3F , 0xDF , 0xF0 , 0x07 , 0x00 , 0x00
 0x10 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01
 0x80 , 0x00 , 0x40 , 0x70 , 0x1C , 0x01 , 0x80 , 0x00
 0x78 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01
 0x80 , 0x00 , 0x80 , 0x80 , 0x06 , 0x00 , 0xC0 , 0x00
 0xCC , 0x41 , 0xC7 , 0x83 , 0x8F , 0x38 , 0xF0 , 0x01
 0x80 , 0x01 , 0x01 , 0x80 , 0x03 , 0x80 , 0x40 , 0x01
 0x84 , 0x42 , 0x24 , 0x44 , 0x48 , 0x91 , 0x00 , 0x01
 0xE0 , 0x01 , 0x07 , 0x80 , 0x00 , 0x78 , 0x40 , 0x03
 0x0C , 0x74 , 0x14 , 0x28 , 0x28 , 0x92 , 0x00 , 0x01
 0xF0 , 0x02 , 0x1D , 0x00 , 0x00 , 0x24 , 0x20 , 0x02
 0x08 , 0x44 , 0x14 , 0x28 , 0x28 , 0x92 , 0x00 , 0x01
 0xD0 , 0x02 , 0x32 , 0x00 , 0x00 , 0x33 , 0x20 , 0x06
 0x18 , 0x44 , 0x14 , 0x28 , 0x2F , 0x12 , 0x00 , 0x01
 0xC8 , 0x04 , 0x67 , 0x81 , 0xC0 , 0x79 , 0x20 , 0x04
 0x10 , 0x44 , 0x14 , 0x28 , 0x28 , 0x12 , 0x00 , 0x01
 0xCC , 0x04 , 0xC7 , 0xFF , 0xFF , 0xF9 , 0x60 , 0x08
 0x30 , 0x42 , 0x24 , 0x44 , 0x48 , 0x11 , 0x00 , 0x01
 0xE0 , 0x05 , 0x0F , 0xFF , 0xFF , 0xF9 , 0xC0 , 0x08
 0x20 , 0x31 , 0xC7 , 0x83 , 0x88 , 0x38 , 0xF0 , 0x01
 0xE2 , 0x05 , 0x0F , 0xFF , 0xFF , 0xFC , 0xC0 , 0x31
 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01
 0xA1 , 0xFE , 0x0F , 0xFF , 0xFF , 0xFC , 0xC3 , 0xE1
 0x40 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01
 0xF0 , 0x8E , 0x0F , 0xE5 , 0x29 , 0xFC , 0x02 , 0xC2
 0xC0 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01
 0xDC , 0x04 , 0x0F , 0xE4 , 0x09 , 0xFC , 0x06 , 0x0E
 0x80 , 0x7F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFC , 0x01
 0xE0 , 0x44 , 0x0F , 0x60 , 0x01 , 0xB8 , 0x04 , 0x01
 0x80 , 0x00 , 0xFF , 0xCF , 0xFF , 0xDF , 0xFC , 0x01
 0xB0 , 0x74 , 0x4F , 0x06 , 0x18 , 0x3C , 0x84 , 0x07
 0x80 , 0x36 , 0xFF , 0xEF , 0xFF , 0xDF , 0xFC , 0x01
 0xB0 , 0x16 , 0x5F , 0xBE , 0x3F , 0x7D , 0x94 , 0x03
 0x00 , 0x77 , 0xFF , 0xEF , 0xFF , 0xFF , 0xFC , 0x01
 0xB8 , 0x06 , 0x7F , 0xFF , 0xFF , 0xFF , 0x9C , 0x07
 0x00 , 0x77 , 0xC7 , 0x0E , 0x21 , 0x9C , 0x7C , 0x01
 0x9F , 0x8C , 0x7F , 0xFF , 0xFF , 0xFF , 0x9C , 0x7E
 0x00 , 0x77 , 0xBA , 0xED , 0xD6 , 0xDB , 0xBC , 0x01
 0x8F , 0x38 , 0x7F , 0xFC , 0x0F , 0xFF , 0x86 , 0x3E
 0x00 , 0x77 , 0xBA , 0xED , 0xD6 , 0xDB , 0xFC , 0x01
 0x82 , 0xF0 , 0x3F , 0xFD , 0xCF , 0xFF , 0x07 , 0xF0
 0x00 , 0x77 , 0xBA , 0xED , 0xD6 , 0xDB , 0xFC , 0x01
 0x83 , 0xF8 , 0x1F , 0xFC , 0xCF , 0xFE , 0x07 , 0xF0
 0x00 , 0x77 , 0xBA , 0xED , 0xD1 , 0xDB , 0xBC , 0x01
 0x83 , 0xFC , 0x1F , 0xC0 , 0x00 , 0xFE , 0x1F , 0xE0
 0x00 , 0x63 , 0xC7 , 0x16 , 0x37 , 0x8C , 0x7C , 0x01
 0x80 , 0xFE , 0x0E , 0x00 , 0x00 , 0x1C , 0x1F , 0xC0
 0x00 , 0x7F , 0xFF , 0xFF , 0xE3 , 0xFF , 0xFC , 0x01
 0x80 , 0xFE , 0x07 , 0x00 , 0x00 , 0x78 , 0x3F , 0xC0
 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01
 0x80 , 0x7F , 0x87 , 0xE0 , 0x03 , 0xF0 , 0x7F , 0x80
 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01
 0x80 , 0x3F , 0x83 , 0xFF , 0xFF , 0xF0 , 0x7F , 0x00
 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01
 0x80 , 0x1F , 0xC3 , 0xFF , 0xFF , 0xF0 , 0xFE , 0x00
 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01
 0x80 , 0x0F , 0xE4 , 0xFF , 0xFF , 0x59 , 0xFC , 0x00
 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01
 0x80 , 0x07 , 0xE4 , 0x8F , 0x7C , 0x49 , 0xF8 , 0x00
 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01
 0x80 , 0x03 , 0xCE , 0x80 , 0x00 , 0x59 , 0xF0 , 0x0F
 0xF8 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01
 0x80 , 0x00 , 0xCE , 0x00 , 0x00 , 0x1C , 0xC0 , 0x1F
 0xFC , 0x21 , 0x00 , 0x00 , 0x1E , 0x00 , 0x00 , 0x01
 0x80 , 0x00 , 0x8E , 0x00 , 0x00 , 0x1C , 0x40 , 0x1F
 0xFC , 0x12 , 0x00 , 0x00 , 0x21 , 0x00 , 0x00 , 0x01
 0x80 , 0x00 , 0xF9 , 0xC0 , 0x00 , 0xC7 , 0xC0 , 0x1F
 0xFC , 0x12 , 0x38 , 0x21 , 0x41 , 0x00 , 0x00 , 0x01
 0x80 , 0x01 , 0xF1 , 0xFF , 0xFF , 0xC7 , 0xC0 , 0x1F
 0xFC , 0x0A , 0x44 , 0x22 , 0x41 , 0x00 , 0x00 , 0x01
 0x80 , 0x00 , 0xF1 , 0xBF , 0xFF , 0x67 , 0xC0 , 0x0F
 0xF8 , 0x0C , 0x44 , 0x12 , 0x41 , 0x00 , 0x00 , 0x01
 0x80 , 0x00 , 0xFF , 0x00 , 0x00 , 0x37 , 0xC0 , 0x00
 0x00 , 0x04 , 0x44 , 0x14 , 0x41 , 0x00 , 0x10 , 0x81
 0x80 , 0x00 , 0xFF , 0x00 , 0x00 , 0x7F , 0xC0 , 0x00
 0x00 , 0x08 , 0x44 , 0x0C , 0x42 , 0x00 , 0x21 , 0x81
 0x80 , 0x01 , 0xFF , 0xC0 , 0x00 , 0xFF , 0xC0 , 0x00
 0x00 , 0x08 , 0x38 , 0x08 , 0x3C , 0x00 , 0x41 , 0x81
 0x80 , 0x01 , 0xFF , 0xE0 , 0x03 , 0xFF , 0xE0 , 0x00
 0x00 , 0x00 , 0x00 , 0x08 , 0x00 , 0x00 , 0x83 , 0x81
 0x80 , 0x01 , 0xFF , 0xFE , 0x1F , 0xFF , 0xE0 , 0x00
 0x00 , 0x00 , 0x00 , 0x10 , 0x00 , 0x00 , 0x83 , 0x81
 0x80 , 0x01 , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0x00
 0x00 , 0x00 , 0x00 , 0x10 , 0x00 , 0x00 , 0x87 , 0x81
 0x80 , 0x01 , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0x00
 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x87 , 0x81
 0x80 , 0x01 , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0x00
 0xFF , 0xE0 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0F , 0x81
 0x80 , 0x01 , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0x01
 0x00 , 0x10 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0F , 0xC1
 0x80 , 0x01 , 0xFF , 0xFF , 0xFF , 0xFF , 0xC0 , 0x01
 0x00 , 0x10 , 0x00 , 0x07 , 0xC0 , 0x10 , 0x1F , 0xC1
 0x80 , 0x03 , 0xFF , 0xFF , 0xFF , 0xFF , 0xF0 , 0x01
 0x00 , 0x10 , 0x00 , 0x18 , 0x30 , 0x00 , 0x1F , 0xC1
 0x80 , 0x07 , 0xFF , 0xFF , 0xFF , 0xFF , 0xF8 , 0x01
 0x00 , 0x10 , 0x00 , 0x20 , 0x08 , 0x00 , 0x3F , 0xC1
 0x80 , 0x0F , 0xFF , 0xFF , 0xFF , 0xFF , 0xF8 , 0x01
 0x00 , 0x10 , 0x00 , 0x20 , 0x08 , 0x00 , 0x3F , 0xC1
 0x80 , 0x0F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFC , 0x01
 0x00 , 0x10 , 0x00 , 0x40 , 0x04 , 0x00 , 0x7F , 0xC1
 0x80 , 0x0F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFC , 0x01
 0x00 , 0x10 , 0x00 , 0x80 , 0x02 , 0x00 , 0x0F , 0xC1
 0x80 , 0x0F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFC , 0x01
 0x00 , 0x10 , 0x00 , 0x80 , 0x02 , 0x00 , 0x00 , 0xC1
 0x80 , 0x0F , 0xFF , 0xE0 , 0x01 , 0xFF , 0xFC , 0x01
 0x00 , 0x18 , 0x00 , 0x80 , 0x03 , 0x80 , 0x80 , 0x01
 0x80 , 0x0F , 0xF8 , 0x00 , 0x00 , 0x07 , 0xF8 , 0x00
 0xFF , 0xE8 , 0x00 , 0x80 , 0x06 , 0x00 , 0x80 , 0x01
 0x80 , 0x0F , 0xF8 , 0x00 , 0x00 , 0x07 , 0xFC , 0x00
 0x01 , 0xC9 , 0x1C , 0xF1 , 0xC6 , 0x1C , 0xF0 , 0x01
 0x80 , 0x1F , 0xF0 , 0x00 , 0x00 , 0x07 , 0xFE , 0x00
 0x00 , 0x2A , 0x22 , 0x90 , 0x3F , 0x02 , 0xC8 , 0x01
 0x81 , 0xDF , 0xF0 , 0x00 , 0x00 , 0x03 , 0xFE , 0xC0
 0x01 , 0xEC , 0x3E , 0xD1 , 0xE4 , 0x1E , 0x88 , 0x01
 0x81 , 0xFF , 0xF8 , 0x00 , 0x00 , 0x07 , 0xFF , 0xE0
 0x02 , 0x2C , 0x20 , 0xB2 , 0x2C , 0x22 , 0x88 , 0x01
 0x83 , 0xFF , 0xF8 , 0x00 , 0x00 , 0x07 , 0xFF , 0xE0
 0x02 , 0x6A , 0x30 , 0xB2 , 0x6C , 0x26 , 0x88 , 0x01
 0x83 , 0xFF , 0xF8 , 0x00 , 0x00 , 0x07 , 0xFF , 0xE0
 0x01 , 0xE9 , 0x1E , 0x99 , 0xF4 , 0x1E , 0xF0 , 0x01
 0x83 , 0xFF , 0xF0 , 0x00 , 0x00 , 0x07 , 0xFF , 0xE0
 0x00 , 0x00 , 0x00 , 0x07 , 0xC0 , 0x00 , 0x00 , 0x01
 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF



};

//-------

void glcd_imagen()
{
   char i,j;
   signed char k;
   for( i = 0 ; i < 64 ; i ++ )
   { 
      for( j = 0 ; j < 16 ; j ++)
      {   
         for(k=7;k>-1;k--)
         {     
            if( bit_test(imagen[i][j] ,7-k ))
               glcd_pixel( j*8+k,i, ON );
               
         } 
      }
   }
}

void glcd_imagen_N()
{
   char i,j;
   signed char k;
   for( i = 0 ; i < 64 ; i ++ )
   { 
      for( j = 0 ; j < 16 ; j ++)
      {   
         for(k=7;k>-1;k--)
         {     
            if( bit_test(~imagen[i][j] ,7-k ))
               glcd_pixel( j*8+k,i, ON );
               
         } 
      }
   }
}





void main()
{

delay_ms(1000);

glcd_init(ON);   // iniciamos la lcd
glcd_fillScreen(0); //LIMPIAMOS LA PANTALLA


     
while(TRUE){

            glcd_imagen();
            delay_ms(4000);
            glcd_fillScreen(0); //LIMPIAMOS LA PANTALLA
            glcd_imagen_N();
            delay_ms(4000);
            glcd_fillScreen(0); //LIMPIAMOS LA PANTALLA           
 
          }


}


    VIDEO





Felices Fiestas! :-/




« Última modificación: 28 de Diciembre de 2008, 20:13:11 por AKENAFAB »

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Iniciando con glcd 128x64
« Respuesta #3 en: 23 de Diciembre de 2008, 05:17:27 »
Hola amigos!

Lo he conseguido xD :z)

Me tarde casi todo el dia (incluyendo descanzos de  :D) para pensar como pasar la imagen de la eeprom al glcd.

Graciass a mi compa Redpic

Que me paso el dato del convertidor bmp a bin de microchip.Justo lo que buscaba

Pues Batalle bastante , soy noob con el ccs C , tarde en comprender el bin y este como representarlo en la GLCD pero aqui una muestra:

Más adelante termino lo de arriba y sigo con lo de aca abajo  :D


Ya tengo por lo menos la simulacion en isis(proteus) la imagen bin almacenada en la eeprom ,luego leo 1024 bytes de la eeprom desde la direccion indicada,la imagen inica en el 10 byte.De ahi la dibujo en el GLCD.

Problemas con proteus , para cargarle una nueva imagen hay qu equitar por completo la eeprom , sino se queda con el dato anterior aunque se intente e intente meter el otro bin.









Felices Fiesta!
« Última modificación: 23 de Diciembre de 2008, 07:48:53 por AKENAFAB »

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Iniciando con glcd 128x64
« Respuesta #4 en: 23 de Diciembre de 2008, 20:28:55 »
En la simulacion del primer codigo con la imagen contenida en el pic, solo quiten la memoria eeprom  , como no tiene el bin cargado marca error.


Saludos!

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Iniciando con glcd 128x64
« Respuesta #5 en: 28 de Diciembre de 2008, 10:51:14 »
hola akenaf muy didactico tus aportes, seguire tu hilo de cerca. saludos  :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Iniciando con glcd 128x64
« Respuesta #6 en: 28 de Diciembre de 2008, 20:11:23 »
Agrego estos videos de los programas anteriores



Y estos son de unas animaciones muy chafas xD solo para probar , son solo 5 imagenes.
y entre cada imagen un retardo de 100ms + lo que tarda en pintar xD.

Esto es muy burdo , pues pinto la imagen , luego la borro.No me gusta , pero estamos empezando.

   


Si no tienen sonido en el video es porque les hace falta el codec para el 3G2 .

Pueden bajar el Klite codec pack  muy bueno  :c)
« Última modificación: 29 de Diciembre de 2008, 11:18:34 por AKENAFAB »

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Iniciando con glcd 128x64
« Respuesta #7 en: 29 de Diciembre de 2008, 11:23:25 »
 :-/ videos !!!

ese efecto que parece parpadeo en la animación del hombrecito karaoke es por que la imagen la borras y luego pegas otra?
es la máxima velocidad que da ese glcd? o es por el pic?

gracias por tus aportes akenafab  :-)
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Iniciando con glcd 128x64
« Respuesta #8 en: 29 de Diciembre de 2008, 11:28:41 »
:-/ videos !!!

ese efecto que parece parpadeo en la animación del hombrecito karaoke es por que la imagen la borras y luego pegas otra?
es la máxima velocidad que da ese glcd? o es por el pic?

gracias por tus aportes akenafab  :-)

Exactamente pana , no se me hace lo mejor pero estoy haciendo pruebas.Además que al borrar es pintar todo nuevamente , ya sea pixel ON u OFF , como se halla seleccionado (perdida de tiempo).

Trabaja los 1024 bytes, no escribe en todos pero se tarda en el proceso de que si lo pinta o no.

Quiero hace rmi propia libreria , la de CCS esta loca xD. Le faltan funciones para saber si el GLCD esta ocupado o no.Por que si respeta los tiempos de escritura , pero al aumentar la velocidad del uC , este empieza a desplegar basura, esto entiedade que saca pixeles de mas, o si das 1 pixel saca 5 , etc.. Espero arreglarlo.





Hola amigos!

HE realizado varias pruebas y me he quemado las pestañas con esta funcion.

Ya hemos aprendido a pintar el GLCD tomando los datos desde la ROM de nuestro pic, pero si tenemos muchisimas imagenes , no podrias almacenar casi nada.

Por eso aqui vamos a tomar las imagenes desde EEPROM.

Esta es la sintaxis

   glcd_imagen(Direccion,COLOR);    Direccion del inicio de la imagen,COLOR del pixel.

Accesa a la EEPROM , en este caso i2c  (24LC256) , lee el dato desde la direccione specificada y lo escribre en nuenestra pantalla.

La imagen en formato bin comenza en el byte 10.


Asi que la primera seria 10 , luego 1034,2058...N


Esta rutina es para leer una imagen bin y desplegarla en la pantalla.

Esto es pantalla por pantalla.

128*64.
VA desplegando las imagenes que tengamos de 1024 en 1024.

Tenemos que asignar solamente la direccion.



En un rato sigo subiendo la info y las funciones



« Última modificación: 29 de Diciembre de 2008, 13:53:07 por AKENAFAB »

Desconectado El_Guitre

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1046
Re: Iniciando con glcd 128x64
« Respuesta #9 en: 29 de Diciembre de 2008, 11:56:16 »
Muy bueno lo que estas haciendo. Me uno al hilo ya que estoy por empezar a jugar con un display de estos y creo que de aca voy a sacar lindas cosas para probar.  :-/ :-/

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Iniciando con glcd 128x64
« Respuesta #10 en: 29 de Diciembre de 2008, 13:51:44 »
He adjuntado la funcion.Programa de prueba y simulaicon en proteus.

Esta solo necesita la direccion , la otra del color que estaba probando tiene fallas xD.

Saludos!

Y Más tarde subo la otra que trabaja con X,Y, ALTO,Ancho.
« Última modificación: 29 de Diciembre de 2008, 13:54:41 por AKENAFAB »

Desconectado Akone

  • PIC10
  • *
  • Mensajes: 29
Re: Iniciando con glcd 128x64
« Respuesta #11 en: 13 de Enero de 2009, 18:07:59 »
Estupendo trabajo, lo seguiré de cerca ya que estoy bastante interesado.

Otra cosa que me gustaría ir metiendole mano es al touchscreen a ver si pudiese meterlo en el proyecto de fin de carrera, he visto algunos post por aquí pero la verdad es que son antiguos.

Saludos

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: Iniciando con glcd 128x64
« Respuesta #12 en: 13 de Enero de 2009, 21:55:14 »
Que tal amigos!
Mis felicitaciones akenafab me recuerdas cuando hice una imagen moviendose por la pantalla de la glcd con el proton  :mrgreen:

Muy buen aporte!

Saludos

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Iniciando con glcd 128x64
« Respuesta #13 en: 13 de Enero de 2009, 22:00:36 »

Gracias amigos!

Por aqui andamos xD!

También quiero usar el touchscreen pero aca esta muy caro!

En cuanto pueda me traigo unos de gringolandia y a practicarle xD

Saludos!

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: Iniciando con glcd 128x64
« Respuesta #14 en: 13 de Enero de 2009, 23:48:52 »
Aqui las puedes comprar y algunas glcd u otras cositas   :mrgreen:

Saludos


 

anything