TODOPIC
Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: juno303 en 29 de Diciembre de 2004, 23:06:00
-
He subido a mi pagina web alguna documentacion de mi experiencia con este display, esta muy bueno, no pongo aqui, por que no puedo subir archivos, pero si a alguien le interesa, pues bueno, aqui esta.
http://www.comunicom.com.py/juno/3595/
A ver quien me ayuda para que funcione un poco mas rapido el display....
-
Muy interesante, gracias!
has probado a trabajar a una frecuencia mayor?
mira esto quizá te interese:
http://www.myplace.nu/mp3/download/files/yampp7_usb_color_v312.zip
Es la versión 7 del Yammp (Reproductor de MP3 casero), tiene conexión USB, Tarjeta de memoria CF ó SD, y usa el Display del nokia 6610 (a ver si lo encuentro en algún lado!), y todo comandado por un atmel, en el archivo que os pongo viene el código fuente en C, la verdad esque está para un 10!!
pd: las imagenes las carga de la tarjeta de memoria, donde tb se encuentran las canciones.
salu2!
-
uy, que bueno esta...
ya probe a una frecuencia mayor, probe el pic corriendo a 40mhz, y la verdad que funciona muyyy bien.
saludos
-
juno. me parece bien tu proyectito. me gustaria aprender! no sabes donde esta el DS del controlador de esa pantalla o algo en asm? es que no se programar en C. si sabes de algun manual para programar pic en C dime donde! gracias!..
porque yoh e usado mas o menos la pantalla del 3310, pero es a blanco y negro...
-
creo que deberias empezar a aprende el C, ya que con assembler para cosas como estas creo que se vuelve muy engorroso todo...
este es el datasheet:
http://w3.epson.com.tw/electronics/PrdSpec/f_2390417151155407554.pdf
saludos
-
no sabes donde consigo un manual apra programarlos en C! auque me manejo expectacular con asm... pero gracias por el pdf. que lo trataré de conseguir..
-
juno303 tengo una duda... voy a ver si hago una librería para el LCD del 6100 (PCF8833), es muy parecido a lo que tu ya has hecho, tengo una dudilla respecto a la alimentación del display:
Te pongo esta página como referencia:
http://www.apetech.de/nokia6100.php
Bien como ves, el display debe ser alimentado a 3.3v, por lo tanto he de suponer que las patas
2 RESET
3 SDATA
4 SCLK
5 ~CS
Que iran conectadas al bus SPI del PIC (en mi caso el 18F2550) deberan tener una tension de 3.3v tambien?? lo digo pq a mi me interesaría alimentar el PIC a 5v, por lo q estaría metiendo por las patas 2,3,4,5 del display 5v, y no se si esto lo soporta, para solventarlo supongo que con 4 zeners (y 2 mas para la alimentación) se solucionaria...
Por otro lado, como has hecho para el control de los LEDs de la pantalla, yo estoy pensando en usar el MAX1848, he pedido un par d samples, a ver que saco en claro de todo esto...
Gracias por adelantado!
-
y la verdad que no se de esa pantalla, tenes que fijarte en el datasheet la tolerancia de los niveles logicos.... En la pantalla de 3510i la que yo uso dice que es de 3v3 tambien, pero cansado de usar el pic a 3v3 le probe con 5v y funciona igual, hasta ahora no se quema, ni calienta, por lo tanto funciona... de todos modos, por ahi en internet circula una web para conectar la pantalla de 3390 al LPT para usarlo con el winamp, tiene un interesante conversor de niveles a base de zenner...
saludos
-
lo de los zeners te lo decia por lo mismo

Bueno entonces creo q al menos al principio le pondré los zeners, una vez que sepa q está funcionando lo mismo los kito para ver q pasa... aunq.... creo q no soporta mas de 3.5V ... al menos este chip... comprobaré d todas formas el datasheet antes de liarla :P
Respecto al controlador, es para una pantalla de 128x128... y creo q es muy parecido al que tu has hecho, ya que estoy viendo inicializaciones y demas, y no cambia demasiado la cosa!
En cuanto lo tenga funcionando (si esq lo consigo... xD) pondré por aki la libreria y alguna imagen de la pantallita encuestion!
Salu2!
-
el de 128 x 128 es la misma cosa, solo que como es logico debes cambiar el direccionamiento de memoria en vez de 96 columnas serian 128 bueno, poca cosa, y te cuento que yo le meti 5V y hasta ahora funciona, y conste que en el data dice lo contrario... y bueno... por algo soy latino, jeje saludos
-
jejeje :p cuidao a ver si se va a quemar!! jajaja
Respecto a este LCD, de momento ya tengo aki 2 de ellos, ya les estoy haciendo perrerias, he estado probando los leds de retroiluminación y han de tener una tensión de 6.5V, por lo q tengo que enganxarle un driver para ello, creo q voy a usar el MAX1848 ... y de momento usaré tb los zeners para las lineas de alimentación, no vaya a ser q le pegue un xute a 5v y no lo cuente... q de momento sta jodio encontrarlos (estos 2 me han llegado de polonia!! jejeje eso si.. a 15€ cada 1), bueno te quería hace una preguntilla...
Este LCD (no se si el tuyo tb, creo q sí
, estan preparados para ser usados por SPI, pero o no me entero de como se configura (q puede q sea eso...), o en tu librería no veo como lo has inicializado :S, nunca he usado ese protocolo, y la verdad ando perdido, tampoco he encontrado ninguna libreria donde simplemente inicialicen el dispositivo (SPI), y le envien datos... de momento es todo :P
Gracias
-
yo estuve revisando las tramas de la pantalla a negro del nokia 3100, que estoy empesando a usar con ASM. y ese entramado parecer del usart en modo sincrono mas dos pines mas de control, ustedes los controlan con cualquier pin?¿ ese protocolo SPI que pic lo tiene?
-
yo nunca use tampoco use el SPI, habria que investigarlo...
aqui en Paraguay yo consigo las pantallas a 5 euros masomenos, pero sin el plastico que sirve como difusor para los leds....
como sabes que los leds necesitan 6,5v??? y cuanta corriente ? ya que yo le pongo 5v, y la verdad se prenden muy debiles...
-
Juno, yo te hablaba del display que voy a usar, en esta página dicen el tema de las tensiones y demás...
http://www.apetech.de/nokia6100.php
Gokuden, el protocolo SPI lo tienen yo creo q casi todos, por no decir todos los pic, es similar al rs232. La librería de juno parece ser que si que controla el protocolo desde cualquier pin, tengo que mirar como hace el control de la señal de reloj del SPI :S ...
Salu2!
-
Hola. Encuentro muy interesante sta rama, ya q stoy intentando conseguir conectar la pantalla del 3510i a un PC. No entiendo d electronica, por eso pido ayuda, a ver si alguien seria capaz de indicarme como puedo hacerlo con un esquema o algo similar (si el tema q aki se expone va de eso lo siento, no comprendo como conectarlo). Agradeceria muchisimo vuestra ayuda.
-
Te respondo por aquí por si alguien tiene la misma duda.
Para conectarlo al PC a traves del puerto paralelo, puedes hacerlo siguiendo la guia del 3310:
http://www.maxoverclocking.com/ele_esq6.html#nokia3310
El problema será el envio de datos, ya que para ello necesitas un programa que esté configurado para usar este display. Por el momento que yo sepa no hay nada, tendras que hacertelo tu mismo 
En este foro http://www.forospc.com/forophp/viewtopic.php?t=105028 he abierto un tema, junto con otro usuario pretendemos hacer un rheobus conectado por USB al PC, no se como acabará todo esto... :p iré poniendo información de los avances, uno d estos meses supongo que empezará a ser funcional jejeje.
Salu2!
-
Muchas gracias x contestar (y ademas tan rapido). Gracias a vuestros consejo y orientacion ya he encontrado parte de lo que necesito (planos). Seguire buscando si encuentro algo para controlar la pantalla directamente con el PC.
-
juno,
estoy haciendo la libreria para el 6100, y creo saber una forma de que tu dislpay vaya masssssss rapido :p es usar el SPI, ya que en tu libreria para enviar un byte haces un bucle, prueba sustituyendo tus funciones de envio por esto:
void gclcd_cmd(int8 cmd)
{
SSPEN = 0;
output_bit(CS,FALSE);
output_bit(SCK,FALSE);
output_bit(SDO,FALSE);
output_bit(SCK,TRUE);
SSPSTAT = 0b11000000;
SSPCON1 = 0b00110000;
SSPBUF = cmd;
while (!BF);
output_bit(CS,TRUE);
SSPEN = 0;
}
void gclcd_data(int8 data)
{
SSPEN = 0;
output_bit(CS,FALSE);
output_bit(SCK,FALSE);
output_bit(SDO,TRUE);
output_bit(SCK,TRUE);
SSPSTAT = 0b11000000;
SSPCON1 = 0b00110000;
SSPBUF = data;
while (!BF);
output_bit(CS,TRUE);
SSPEN = 0;
}
Estas son las definiciones:
#define CS PIN_A5
#define RST PIN_C0
#define SCK PIN_C3
#define SDO PIN_C5
#byte SSPSTAT = 0xFC7
#bit BF = SSPSTAT.0
#bit CKE = SSPSTAT.6
#bit SMP = SSPSTAT.7
#byte SSPCON1 = 0xFC6
#bit SSPM0 = SSPCON1.0
#bit SSPM1 = SSPCON1.1
#bit SSPM2 = SSPCON1.2
#bit SSPM3 = SSPCON1.3
#bit CKP = SSPCON1.4
#bit SSPEN = SSPCON1.5
#byte SSPBUF = 0xFC9
Son para el 18F2520
Si no es molestia, pruebalo y dime que tal ok? creo q te incrementará la velocidad bastante, que para utilizar imagenes viene perfecto.
Salu2!
-
lo consegui!! jejejeje, aun me queda mucho por hacer, pero bueno, va saliendo algo


Salu2!
-
no me hagas mucho caso, pero creo q no, prueba con estas funciones mejor:
void gclcd_cmd(int8 cmd)
{
output_bit(CS,FALSE);
output_bit(SCK,FALSE);
output_bit(SDO,FALSE);
output_bit(SCK,TRUE);
setup_spi(spi_master | spi_h_to_l | spi_clk_div_4 );
spi_write(cmd);
while(!spi_data_is_in());
output_bit(CS,TRUE);
SSPEN = 0;
}
void gclcd_data(int8 data)
{
output_bit(CS,FALSE);
output_bit(SCK,FALSE);
output_bit(SDO,TRUE);
output_bit(SCK,TRUE);
setup_spi(spi_master | spi_h_to_l | spi_clk_div_4 );
spi_write(data);
while(!spi_data_is_in());
output_bit(CS,TRUE);
SSPEN = 0;
}
Salu2!
-
tengo una duda con el tema del mapeo de memoria y es el siguiente, a ver si alguien me ayuda:
si, voy a hacerlo, seria muy util...
lo que no entiendo bien es lo siguiente:
por ejemplo: en el modo 256 colores, se usa un byte por cada pixel,
es decir, si yo quiero que el pixel 1, 2 y 3 sean rojos, tendria que enviar esto: byte1: 11100000, byte2: 11100000, byte3: 11100000.
hasta aqui todo bien, ese sería el formato RRRGGGBB.
ahora en el modo 4096 colores:
el tema es asi:
pixel1, pixel2, pixel3 = rojo
pero como haces esto ???
envias los siguientes bytes:
RRRRGGGG BBBBRRRR
11110000 00001111 00000000 11110000 0000????
pixel1-------pixel2--------pixel3-------pixel4
pero como podras ver, al enviar el 5 byte, que tiene el BBBB en el niblle mayor, y en el nibble menor la info del RRRR del pixel 4, pero el pixel 4 yo no quiero tocar, asi que como hago para enviar solo la info de los 3 primeros pixeles ???