TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: daniellph en 29 de Agosto de 2012, 12:07:15
-
Saludos a todos, soy nuevo en el foro mi primer post apenas, pero en electrónica no tanto. he leído casi en su totalidad los comentarios de cada uno de uds (en otros hilos) ya que estoy desarrollando una de estas pantallas también, les cuento que ya tengo como el 60% del proyecto adelantado. Es una pantalla diseñada inicialmente de 7x80 aunque en dos módulos de 7x40, puro texto con efectos standard (scroll, blink, cortina) y pienso incorporarle más. El hardware es normal como lo han propuesto aquí y bueno el brillo aceptable aunque estoy seguro se puede mejorar ya que uso módulos led 7x8 comerciales. Con respecto al soft si he ideado una "tecnología" (entre comillas) propia, digo propia porque créanme he visitado infinidades de páginas que hablan de pantallas led y NINGUNA habla de esta técnica que yo uso para mostrar la información. Uso el PIC18F4525, escojí ese por la cantidad de memoria RAM que posee (4K). El desarrollo consta de la programación en paralelo de dos software, el del micro y el del PC para la carga y configuración de la información a mostrar. Como ven ya esta algo adelantado dentro de un rato pongo el link del video en youtube para que aprecien mi trabajo, si alguno de Ud esta interesado lo puede solicitar y yo con gusto expongo mi idea y les doy las herramientas para que compilen y depuren el soft y el hard y asi entre todos mejorar el diseño. Bueno gente saludos a todos desde Venezuela
-
Bueno muchachos vean el trabajo. Hago la anotación que el envase lo puse porque no tengo un acrílico y bueno resolví con eso jajajaja :D :D :D
Saludos ;-)
-
Buenos a nadie le interesa el proyecto jaja, igual aquí subo mas progresos para compartirlo con uds. Saludos
-
Muy buen proyecto y buenos avances! Felicitaciones! :-/
-
podias pasarme tu esquema y el programita?????
porfissssss
-
podias pasarme tu esquema y el programita?????
porfissssss
((:-)) ((:-)) ((:-)) ((:-))
-
Hola Daniel, felicitaciones, me agrada mucho el "delay" con que presentas las tipografías, queda muy bonito visualmente...
Muy buen trabajo!
-
A mi tambien me gusta mucho, muy bueno !!
Felicitaciones !!
-
Se ve bien, felicidades.
Explicanos como es esa tecnologia que has ideado en el software... y le tienes algun objetivo en particular a tu proyecto? o es solo por aprender y divertirse un rato.
Saludos
-
Gracias a todos los que han comentado. Bueno empiezo aclarando que no hay invento aquí escribí tecnología pero debí poner técnica okey ;-). Ya aclarado el punto le digo a jjjjose que no tengo rollo yo te paso el esquema y el soft pero eso si, la idea inicial mia es buscar colaboradores para juntos llevar el proyecto a mejor término me explico. Ambos soft están escritos en C, el del micro esta incompleto falta las rutinas para guardar a la memoria externa y mas optimización. La idea es esta Supongamos que esta es la pantalla de unas 40 columnas, dos variables me definen los margenes OffsetLeft (OL), OffsetRight (OR) si quiero que el texto entre con scroll hacia la izquierda inicialmente pongo OL = OR = 0; e incremente OL hasta un máximo de 40 en este ejemplo. En este punto tenemos el texto mostrándose justificado a la izquierda, si quiero que el texto siga el scroll sigo incrementando OL hasta que sea igual a 40+Longitud de mensaje en pixel. La desventaja de esta técnica es que a mayor numero de columnas el algoritmo se hace mas leento. Sin embargo optimice el algoritmo para que el ciclo for que envía los datos a los registros de desplazamiento se ejecute como máximo 40 veces tomando en cuenta que puedo mostrar 96 caracteres ascii por mensaje y un máximo de 25 mensajes, así pues (96 letras ascii)*(8 bits) = 768 bits de longitud por mensaje ya que sin ella tendría que el ciclo for ejecutarse 768+40=808 veces para que el texto salga de pantalla. El micro que escojí es el PIC18F4525 por la cantidad de RAM que tiene (4K) (corriendo a 20MHz, aunque he pensado ponerlo a 40MHz activando PLL) mas una memoria I2C 24C32.
Pronto voy a subir los archivos para que entiendan mejor y si alguien se anima lo materialice. Con respecto al amigo jeremylf que pregunta por el objetivo le puedo decir que es puro hobby aunque sabemos el potencial que tiene comercialmente sin embargo para mi es satisfactorio solo con verlo funcionar como todo electrónico que emprende un proyecto.
Saludos a todos ;-)
-
Hola muy bueno su proyecto, precisamente voy a utilizar unas Dot-matrix display, me gustaría conocer el circuito que utilizó para esa aplicación, depronto podamos compartir experiencias.
Mi correo es alvarosandoval1982@gmail.com
Saludos,
-
Saludos a todos. Estas son las imágenes de la circuitería para simulación. En la práctica hay algunos cambios ya que entre el panel y los 595 hay un ULN2803 como buffer de corriente. ah y los D4 al D11 no tienen una utilidad práctica, los utilice para depurar el soft. los transistores Q8 a Q14 va a depender también si usan matrices en filas con ánodo común o cátodo común.
Gracias a todos por su buenos comentarios ;-)
-
Daniel, felicitaciones por tu proyecto, las matrices led son siempre interesantes.
Bueno, en que podemos ayudarte en tu proyecto? Que es lo que te estaría faltando realizar? Podrías poner algunas cuentas, por ejemplo a que frecuencia llenas los 595?
Cuando publiques el programa lo estudiaremos y veremos en que podemos ayudar. Si tienes la pantalla armada estrá fantástico para que puedas probar las sugerencias.
De mi parte espero el resto del proyecto y ya nos dirás que te falta agregar.
Saludos!
-
Saludos a todos. Estas son las imágenes de la circuitería para simulación. En la práctica hay algunos cambios ya que entre el panel y los 595 hay un ULN2803 como buffer de corriente. ah y los D4 al D11 no tienen una utilidad práctica, los utilice para depurar el soft. los transistores Q8 a Q14 va a depender también si usan matrices en filas con ánodo común o cátodo común.
Gracias a todos por su buenos comentarios ;-)
Gracias, les estaré mostrando lo que monté con esta y otra información recolectada. Saludos
-
Epa foreros un saludo a todos. Vean lo que voy hacer, voy a comentar bien el código fuente para que no tengan problemas en entenderlo. Cuando lo tenga bien explicado lo comparto, como les dije lo que me falta son las rutinas para guardar los mensajes nuevos cargados desde la pc hacia el micro que por ahora los mantengo en ram. Otro sería optimizar el código sobre todo lo de la transferencia serial hacia y desde la pc que como lo programe no me convence mucho, hace el trabajo pero no se no me gusta jajaja :D :D :D.. el soft de la pc lo hice en visual studio 2010 y se los voy a pasar también para que me ayuden a pulirlo. Con respecto al hard necesito una ayuda para aumentar el brillo de los leds, he pensado ponerle otro ULN2803 para activar las filas, voy a echar número para ver que tan viable es.
Al amigo elgarbe le agradezco su disposición a ayudar y si la pantalla esta armada y el conector ICSP listo para quemar las modificaciones y sugerencias :D :D . Pilla esto, el algoritmo tarda para mandar los 40 bits (40 columna en este caso) de cada fila 354.6 uS, eso multiplicado por 7 = 2.48 mS a eso se le suma el delay de cada fila que lo fije en 450uS y multiplicado por 7 = 3.15 mS y sumado a los 2.48 mS = 5.63 mS. Ese es el tiempo mas o menos de cada frame lo que se traduciría a 177 FPS en teoría en la práctica es menos obvio. He probado aumentando el delay de fila y la imagen es estable hasta los 2mS pero no noto cambio en el brillo de los leds que por teoría debería ir aumentando.
En fin ya verán lo que les digo cuando tengan el código y si alguien tiene una pantalla para probar muuucho mejor. Hasta la próxima :)
-
Te ha quedado muy bien, Daniel.
-
:-/ :-/ :-/ :-/ :-/ :-/ :-/
Holaaa, espero que estén bien. Aquí les traigo el código fuente para que lo estudien, es un aporte para que tengan otra opción. El código esta escrito para el compilador MicroC de la gente de Mikroelectronika, no esta del todo terminado pero no dudo que uds pueden aportar.
Me cuentan sus impresiones muchachos, saludos :mrgreen:
-
:-/ :-/ :-/ :-/ :-/ :-/ :-/
Holaaa, espero que estén bien. Aquí les traigo el código fuente para que lo estudien, es un aporte para que tengan otra opción. El código esta escrito para el compilador MicroC de la gente de Mikroelectronika, no esta del todo terminado pero no dudo que uds pueden aportar.
Me cuentan sus impresiones muchachos, saludos :mrgreen:
Hola daniel primero que nada felicitarte por tu proyecto esta muy bueno, te cuento que estoy realizando mi propia matriz programable por rs232 la cual guarda el mensaje un una eeprom 24lc256, todo esto ya funciona pero tengo una duda respecto a tu proyecto, yo capturo el texto que proviene del rs232 en una variable (buffer de cierto tamaño) y luego clasifico letra a letra (el contenido del buffer) y la voy guardando en la eeprom, la preunta es, veo que tu manejas textos de 2 min, como vas capturando el mensaje y los vas guargarlo solo con la memomoria del pic, ya que si me paso del tamaño de mi buffer pos nu puedo guardar mas texto y debido a que como estoy usando interrupcion de rs232 si intento guardar el caracter que llega inmediatamente la interrupcion se desabilita y no guarda el texto restante, espero que me entiendas la duda jaajja :o :o y si me puedes orientar con eso te lo agradezco.... ah estoy programando en pic c compiler. gracias..........
-
Un cordial saludo disculpandome por los meses que estuve desconectado del mundo. Ahora respondiendo al amigo camhost1 yo utilizo el PIC18F4525 y lo seleccione justamente por la cantidad de memoria ram que posee (4K), esa memoria la utilizo casi toda para almacenar los mensajes (y propiedades) que voy a mostrar que esta en ascii y otra buena parte para el buffer de pantalla que esta en pixel. Como podrán ver en el código fuente yo puedo guardar en ram del pic 25 mensajes de 96 letras ascii de longitud pero obviamente solo uno de esos 25 mensajes están convertido a pixel para ser mostrado y con todo y eso me queda 86 byte libres de ram. Por ahora no he hecho las rutina para guardar lo capturado por RS232 a la EEPROM pero eso es lo de menos la verdad he descuidado el proyecto pero lo voy a retomar pronto para mejorarlo y ponerle color. La otra duda que me comenta el amigo creo que tiene que ver con el protocolo, debes de tener un control de flujo para que puedas capturar los caracteres y propiedades correctamente.
-
Hola, jejej yo tambien andaba perdido pues te cuento que mi problema lo solucione cambiando una variable a tipo byte y el espacio de bufer puede ser mucho jeje, pero ahora me surge un problema que no me habia fijado y queria preguntarte, el barrido lo haces por filas o columnas??, intente aumentar el tamaño de mi matriz y debido a que realizo el barrido por columnas se nota un parpadeo incomodo :x , pero al intentar pasarlo a barrido por filas pues toda la logica cambia ya que los datos se deben pasar es al registro de desplazamiento, sl tienes tu programa por barrido por filas para que me eches una mano en la programacion solo he logrado scar una a pero no entiento como moverla ni crear efectos. cuidate chauu......
-
el barrido por columnas se nota un parpadeo incomodo :x , pero al intentar pasarlo a barrido por filas pues toda la logica cambia ya que los datos se deben pasar es al registro de desplazamiento,
Saludo hermano. Si en efecto multiplexando por columnas es mas probable que parpadee sabes porque no es lo mismo colocar 7 u 8 bits en un registro encender la columna esperar 1 o 2 milisegundos y repetirlo 80 veces que colocar 80 bits en en un latch encender la fila esperar 1 o 2 milisegundo y repetirlo 7 u 8 veces me explico??. Considerando que el tiempo que se tarda en mandar los bits a los registro de desplazamientos es casi despreciable ya que son 200us cuando mucho dependiendo la cantidad de bit, la velocidad de ejecución, el lenguaje de programación y si haces efecto etc. Yo multiplexo por filas y si la lógica cambia, el mapa de caracteres cambia, como podrás ver yo subí mi código fuente por ahí te puedes guiar y lo que no entiendas yo te explico aunque puse comentario lo mas explicito posible para que no tengan rollo incluyendo el como logro los efectos de desplazamientos, el blinking, todo. Programe 5 efecto los mas básicos, el como desplazar las letras uso una técnica que yo idee y es super sencilla obviamente no invente nada. Algo que me pareció curioso que tu escribiste en tu primer mensaje, cito: "yo capturo el texto que proviene del rs232 en una variable (buffer de cierto tamaño) y luego clasifico letra a letra (el contenido del buffer) y la voy guardando en la eeprom". Lo de clasificas que quieres decir que la conviertes a pixel y luego la guardas en la eeprom??. si es así considero que estas desperdiciando memoria sabes, claro es valido pero un mensaje de 10 caracteres (por ejemplo HOLA MUNDO) son 52 espacios en memoria correcto?, asumiendo fuente de 5x7 + las propiedades, corrígeme si estoy mal jaja, por yo guardo en ascii y transformo cada vez antes de mostrar. Bueno espero que sigamos en línea compartiendo un saludo pórtense mal pero sanamente :mrgreen:
-
Gracias Daniel por compartir tu experiencia y proyecto!, yo "todavía" estoy programando en assembler, y ahora he comenzado con C, por lo que es interesante para investigar tu codigo :mrgreen:
Un abrazo!
Norberto
-
Saludos amigos, les cuento que estoy a punto de terminar el PCB del proyecto, consta de dos placa ambas caras y la he pensado dividiendo la pantalla en dos de 40 columnas x 7 filas. Así si la quiero pequeña uso un solo módulo y grande ambos módulos con un pequeño cambio de una variable que desde la PC (como parámetro) lo puedo cambiar tranquilamente. Cuando lo tenga listo a los interesados se los puedo pasar ok ;-). Bueno mi gente se que hay full personas interesadas en este proyecto y si alguien esta trabajando en él (basado en mi propuesta) me la haga saber para ver como actualizamos el hardware y firmware. Lo que pasa es que yo dispongo de poco tiempo para dedicarle (máximo 3 horas diarias) y así va leeeento la cosa jaja. Bueno saludo cuídense
-
Hola Daniel como vas espero bien, muchas gracias por tue explicacion, y que pena que hace ratico no me conectaba, te cuento que en estos momentos ya logre sacar los datos por filas, dejando el dato estatico y desplazado de derecha a izquierda, estoy es tratando de programar las mismas funciones que tenia el codigo que funcionaba por columnas, cuando lo tenga te lo paso para que lo veas cuidate y saludos.
-
Holaaaaa, sip lo se andaba perdido por el foro pero les cuento que el proyecto sigue, un poco lento por falta de tiempo pero sigue. Ya estoy afinando los últimos detalles de mi matrix de leds y bueno ya lo que habrá falta hacer es mandar a hacer el PCB para montarlo formalmente.
Me pregunto si alguien se intereso en mi propuesta y si ha hecho algo con ella???? yo como dije sigo poco a poco pero seguro..
Un saludo desde Venezuela