Autor Tema: controlar pantalla de celular¿?  (Leído 8127 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Gokuden

  • PIC16
  • ***
  • Mensajes: 100
controlar pantalla de celular¿?
« en: 08 de Septiembre de 2004, 21:44:00 »
hola, en alguna oportunidad vi en algun sitio como usar las pantallas de los celulares, mas que todo creo que era nokia, alguien sabra donde es que esta eso¿? o como es que se hace¿? para mostrar datos en ella digo.. como si fuera una lcd comun..

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: controlar pantalla de celular¿?
« Respuesta #1 en: 09 de Septiembre de 2004, 05:53:00 »
Mira, primero debes saber de que pantalla se trata. Con el modelo del móvil puedes conseguir esa info.
Si es para los nokia 3310 o similar, tienes unas rutinas en C, probadas y funcionando, aquí:
www.pacalaconcurso.com
También puedes mirar en este mismo foro, en el Tema "Que levanten la mano los que no tienen osciloscopio".
Ahí encontrarás además una pcb realizada en eagle para este tipo de displays. Las rutinas de pacalaconcurso son estas de aquí, las definitivas.
Mucha info sobre multitud de lcd"s de móviles en:
http://sandiding.tripod.com/Bertys.html
Y algo más también aquí:
http://users.skynet.be/bk317494/index.htm
Saludos desde Huelva (ESPAÑA)

Desconectado Gokuden

  • PIC16
  • ***
  • Mensajes: 100
RE: controlar pantalla de celular¿?
« Respuesta #2 en: 10 de Septiembre de 2004, 13:46:00 »
la qe quiero usar es la del nokia lph7366 creo, la del nokia 3310..
de 9 pines o la version de 8 pines.

el asunto es que hay paginas en ingles con el software ya hecho pero estan en C, el asunto seria si sabes donde explican como es que se usa, como me conecto a ella(esto si aparece mas o menos en algunos diagramas) pero como escribo en ella, y como me direcciono en su matriz para escribir en ella, como borrar, etc.. ya uno al entender lo adaptaria a su programa del pic, ya que programo nada mas en Asm.

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: controlar pantalla de celular¿?
« Respuesta #3 en: 10 de Septiembre de 2004, 14:10:00 »
Pues entonces mejor toma el datasheet del controlador y a estudiar.
En la página de Berty te indican el controlador que lleva cada modelo de los que ahí aparecen.
Saludos desde Huelva (ESPAÑA)

Desconectado Gokuden

  • PIC16
  • ***
  • Mensajes: 100
RE: controlar pantalla de celular¿?
« Respuesta #4 en: 10 de Septiembre de 2004, 21:15:00 »
pero hay cosas que no entiendo y veo que tu estas mas avanzado. esos controladores que existen son para que¿? para un pc o que¿?.. no entiendo ..

ademas, voy a comprarme una y empesar a darle, seguro te preguntare otras cosas, no se si sera molestia..

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: controlar pantalla de celular¿?
« Respuesta #5 en: 11 de Septiembre de 2004, 07:05:00 »
No es molestia hombre...

Mira, imagina que quieres controlar un Led con un micro. Fácil. Ahora imagina que quieres controlar 4000 leds. Ummm, se complica la cosa verdad. Para eso están los controladores. Ellos se diseñan para manejar esas matrices (mira los pines que puede tener uno de esos controladores) y luego mediante un protocolo, I2C, SPI... facilitan el manejo de ésta a otros dispositivos, microcontroladores p. ej. Por tanto, ahora mediante ese controlador se puede manejar esa matriz con pocos pines, mediante el envío de comandos.
Has usado algún LCD alfanumérico, los normales de 16x2 p.ej. Si te fijas en el reverso de este, verás el controlador. Es al que te refieres cuando quieres ver como se controla éste.
Con los gráfico igual, pero con estos en lugar de enviar ASCII para el texto, escribes directamente sobre la matriz byte a byte (no escribes sobre un punto concreto, sino de a 8).
La cosa es "simple". Sólo debes ver el protocolo que sigue, implementarlo en el micro.
Imagina que sigue un protocolo I2C. Te haces las rutinas para I2C y luego sólo es enviar comandos sin más. Serñia más o menos como escribir en una memoria I2C.
Si te fijas en el ejemplo en C, aun teniendo en el soft la posibilidad de usar I2C por librerías, verás que ahí se ha montado el protocolo también. Te puede servir de ayuda. Simplemente debes hacer lo mismo en ensamblador.
Yo el ensamblador por no usarlo lo he casi olvidado. Y la librería para el control la bajé de internet y la modificamos y mejoramos a nuestro gusto.
En cuanto a la conexión del LCD, mira ese pcb que hice y luego no son más que un par de condensadores externos, de 4.7uF si mal no recuerdo. Fíjate en la página esa donde hay varios montajes con el LCD. Verás lo que te comento.
Y ya sabes, en lo que pueda ayurdate...

Saludos!!


Saludos desde Huelva (ESPAÑA)

Desconectado Gokuden

  • PIC16
  • ***
  • Mensajes: 100
RE: controlar pantalla de celular¿?
« Respuesta #6 en: 11 de Septiembre de 2004, 10:39:00 »
donde betis hay unos codigos en asm para escribir en ella, pero pregunto, uno pone en la lcd es un punto nada mas¿? , no caracteres¿?¿?... porque viendo tus imagenes, veo que pones dibujitos y tambien unas letras.... en tu codigo veo una tablota para conversion creo de ascii a los pixeles de la lcd, pero no veo una tabla asi en el codigo asm de betis...

es que no lo veo bien porque como lo tuyo es C, lo he leido ya como 100 veces, jajajaja, pero entiende, nunca he programado en ese lenguaje, por eso lo veo y lo veo y tengo muchas interrogantes..... porque ya entendi lo del I2C mas o menos, la voy a conectar para empesarle a mandar datos como loco a ver qe muestra. pero tambien debo ver como son los datos en ella, no se si es totalmente el iC2, me imagino que uno le manda una trama serial que contenga, el dato y la direccion en la matrix, eso es lo que deseo buscar a ver si es asi y como esta compuesta esa trama y los tiempos de envio..


otra cosa, el controlador es el PCD8544¿?¿?. veo el datashet de el para ver como son sus tramas¿?

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: controlar pantalla de celular¿?
« Respuesta #7 en: 11 de Septiembre de 2004, 12:36:00 »
Lo de la página de Berty no es más que un ejemplo para que veas el funcionamiento del LCD. En cambio, la rutinas en C son una librería para el control y el otro un ejemplo donde se hace uso de esa librería.
Si te fijas, el de berty escribe la fecha repetidamente:
Codigo:
adata   movlw 1FH   ;date
   movwf afisaj
   call   lcdta
   movlw 05H   ;date
   movwf afisaj
   call   lcdta
   movlw 07H   ;date
   movwf afisaj
   call   lcdta


Lo que hace el programa es inicializar y demás, se posiciona y luego escribe la fecha una y otra vez.
De ahí puedes usar todo excepto la parte que está aquí pegada, modificando un poco, claro. Por ejemplo te creas una función init, que es la misma pero termina con un return, creo que era. Así luego, en tu programa sólo harás call init. Y así con el resto. Te crea tu librería que luego incluyes en tu programa.
Lo de los puntos... a ver... Imagina esto:
||||||||||
||||||||||
||||||||||
Cada | es un byte. Así es como es la matriz del LCD. Osea, cada | son 8 pixels, verticales. Así si quieres por ejmplo crear el caracter ":" sería 00100100 por ejemplo. Mejor así no?
Tu direccionas y luego escribes. El puntero se va incrementando sólo.
Y por tanto, si quieres escribir texto, tendrás que crea tú las letras. Eso es lo que hago en mis tablas.
La cosa es que si no sabes C se complica para explicarte, pero a ver..
Yo mando la orden de escribir la A, que en ascii es el 40. Mi función lo que hace es convertir ese cuarenta en los puntos que deben de encenderse y apagarse.
Yo he escogido para cada símbolo 8x5pixels, osea |||||, Bien, pues la A será 0x7e,0x11,0x11,0x11,0x7e. Toma un cuaderno de esos de cuadrículas, y monta toma un cadrado de 8x5 cadraditos. Y ahora rellena cada cuadrado que tenga un 1 y verás que sale... la A.
La función lo que hace es direccionar sobre esa tabla, tomando la trama para ese caracter y lo envía al LCD.

En cuanto a lo del controlador, sí, es ese.

Lo mejor, bajo mi opinión es que conectes el LCD, cargues el programa de berty, compruebes que funciona y en base a él te montes tu propia librería.
Saludos desde Huelva (ESPAÑA)

Desconectado Gokuden

  • PIC16
  • ***
  • Mensajes: 100
RE: controlar pantalla de celular¿?
« Respuesta #8 en: 14 de Septiembre de 2004, 21:34:00 »
okokok. entonces ya estoy aprendiendo, voy a montar la de bertys..

una preguntillas... para comunicarse con la lcd, es una sola trama que incluye direccion en la matriz y el pixel a poner¿?.. o caracter¿?
....

ademas.. veo como voy a hacer mi table y la empieso a crear.. pero en la trama, va primero la direccion y despues el caracter¿?...

segundo.. no he visto en el codigo de bertys la parte donde se direccionan en la pantalla. sabes si eso esta ahi¿?

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: controlar pantalla de celular¿?
« Respuesta #9 en: 15 de Septiembre de 2004, 17:54:00 »
Aquí:
Codigo:
   movlw 40H   ;x ini
   movwf afisaj
   call   lccmd
   movlw 80H   ;y ini
   movwf afisaj
   call   lccmd


Si te fijas, usa el byte afisaj para envío.
La función lccmd supongo que será la que usa para comunicación y envío de lo que está en afisaj.

A ver...
Mira, tenemos las siguientes señales en el lcd, pines vamos:
*sclk  (señal de reloj, sincronismo)  
*sda  (datos)
*dc    (no m"acuerdo)
*cs    (tampoco m"acuerdo. Chip Select, supongo)
*res  (esto puede ser una resistencia, pero tampoco me acuerdo. Es broma. Reset)
Mira el data para más detalles

Bien, mirando las rutinas en C la cosa sería así:


1) Para enviar un comando:
dc a 0
cs a 0
y ahora envío en serie del comando.
sclk a 0 (esta es la señal de reloj) Se pone a cero y envío de un bit
   a)si el bit es 0 sda a 0
   b)si el bit es 1 sda a 1
sclk a 1
Esto se repite 8 veces, una por bit del byte que compone el comando. El envío se hace empezando por el bit MSB

2) Para enviar un dato:
dc a 1
El resto igual, pero claro, lo que se envía ahora es un dato, algo que será mostrado (los 1 serán puntos negros, los 0 blancos)


Los comandos para direccionar en la pantalla son:
X-> 1xxx xxxx  (donde las x son el número en binario para el eje X. Columna)
Y-> 0100 0yyy (lo mismo, para el eje Y. Filas)


Para inicializar el LCD:
todas la señales a 0.
esperas 200us
dc a 1
cs a 1
esperas 10 ms
res a 0
esperas 250ms
res a 1
envías el comando 0x21
envías el comando 0x90
envías el comando 0x13
envías el comando 0x20
envías el comando 0x09
esperas 50ms
te posicionas en (0,0)
limpias la pantalla, osea escribes 0 en todas las posiciones. Recuerda que el puntero se incrementa sólo.
esperas 10ms
envías el comando 0x0c
...y listo. Uffff
En el archivo .c puedes ver con detalle que es cada comando que se envía. O en el data.
Los tiempos no son exactamente los que vienen en el data, quiero recordar. Los aumentamos por seguridad. De todos modos puedes cambiar y pobrar. Pero así funciona.



Y esto es todo. Recuerda que la comunicación con el display tiene sus tiempos mínimos, osea, que según el cristal que uses debes ver esto.
Si mal no recuerdo creo era de 2us por nivel de clk

Saludos!
Saludos desde Huelva (ESPAÑA)

Desconectado lafe

  • PIC10
  • *
  • Mensajes: 40
RE: controlar pantalla de celular¿?
« Respuesta #10 en: 17 de Septiembre de 2004, 14:30:00 »
Hola a todos
Aqui les dejo un link de un programa llamado FastLcd ,Yo lo uso para crear logos  tanto en lcd de 16x2 , lcd graficos 240x128 como para lcd de celulares no pesa nada y es muy practico es configurable y hasta te genera codigo,
bueno espero que les sea utildad
www.amontec.com/lcd_nokia_3310.shtml
SALU2

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: controlar pantalla de celular¿?
« Respuesta #11 en: 17 de Septiembre de 2004, 14:49:00 »
Muy bueno el dato... no conocía ese programita. Según Sisco y Ledroj, que ya lo han usado, es bastante bueno.
Gracias. Guardado queda...

Saludos!
Saludos desde Huelva (ESPAÑA)

Desconectado Gokuden

  • PIC16
  • ***
  • Mensajes: 100
RE: controlar pantalla de celular¿?
« Respuesta #12 en: 20 de Septiembre de 2004, 21:16:00 »
bueno amigo, aunque todavia tengo dudas, es compresible, pero ya me has dado demasiada informacion y buena y te lo agradesco, no queda de otra que dejar de preguntar sin probar, me empesare a dar coñasos con la lcd, ya montada si te preguntaré--- pero vere que locuras puedo meter en ella.. xD

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: controlar pantalla de celular¿?
« Respuesta #13 en: 20 de Septiembre de 2004, 22:20:00 »
Me salgo un poco de tema para preguntarle a cuca como soldaste los contactos del lcd del nokia,ya me cargué uno y no quiero hacer lo mismo con el segundo
¿Soldaste un cable a cada uno de los pads?

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: controlar pantalla de celular¿?
« Respuesta #14 en: 21 de Septiembre de 2004, 17:29:00 »
No modulay, lo que hice es usar el mismo sistema que en el móvil. Un pcb sobre el que se coloca el display y luego se atornilla.
Te iba a pasar el esquema, pcb y librería (para Eagle) que hice para el nokia pero borré la maldita librería. La costumbre de no guardar librerías en una carpeta de mis documentos.
Por eso, cuando desintalé el programa se fué con él y no es la primera vez que me pasa. La otra vez tuve más suerte, ya que alguien la tenía. A ver si esta consigo recuperarla.. pero no recuerdo a quién pude pasársela. Si es que la pasé.... En fin...
Asi que de nada te va a servir el esquema y el pcb en Eagle. Bueno, si que deja abrirlo y imprimirlo, pero sólo eso....
Lo que sí tengo es un pdf con el pcb. Te lo paso por privado.
Si alguien más lo quiere lo cuelgo en el almacén.
A ver si encuentro la librería y te la paso para que puedas hacer tus diseños con el lcd.

Saludos!!
Saludos desde Huelva (ESPAÑA)