domingo, 15 de abril de 2012

matriz de led 7x5 controlada por bluetooth, Appinventor y RN42

navegando por internet mire unos videos de control de una matriz de led de 8x8 por medio de un celular, el proyecto era diseñado con modulos de programacion arduino y programacion en java.

al mirar el proyecto uno se imagina que complejo es este proyecto y se cuestiona si uno es capaz de hacerlo uno mismo......personalmente me coloque este reto, hacer el mismo proyecto desde cero, pero en lenguej ASM asembler con pic que esten a mi alcance como el 16f84 o el 16f876.

el proyecto lo hice para ambos PIC y funciono Ok pero para el 16f84 tocaba usar un registro de desplazamiento 74164 o un contador decadente como el 4017  que me ayude a usar menos pines y asi me sobren para hacer la comunicación RS232, debido a este inconveniento mute el trabajo al pic16f876, pero el programa funciona en cualquier pic.

el primer paso fue escoger la mejor forma de hacer la matriz de led de 7x5, para este caso hay dos formas que se usan de forma comun.
1- cargar codigos por columna y codigo por fila
2- cargar codigos para fila y correr un bit para columna de una forma tan rapida que no se note el parpadeo de la matriz y que este tiempo sea suficiente para mantenerla encendida

la primera técnica es muy tediosa en su uso, ya que requiere muchos códigos para su funcionamiento , en cambio la segunda opción es mas fácil de manejar, por tanto implante este opción para hacer la matriz.

Primero pasos
lo primero es hacer la matriz sencilla sin celular (en mi caso el programa ya lo tenia hecho desde hace mucho tiempo, ya que ya he trabajo con este tipo de circuitos), use la técnica de correr un bit para generar una letra especifica


El funcionamiento de una matriz es sencillo ,se carga un valor de la fila y se mueve este valor a la fila, luego se corre el bit, se genera un tiempo de 1ms y se repite el proceso hasta que el bit de corrimiento generado hasta la izquierda alcance el 5 bit, luego se repite todo.

como segundo paso se hizo hacer el aplicativo en appinventor, el cual fue el mas dispendioso en su diseño, primero se da un nombre a cada tecla y un valor, desde 1,2,4,8,16,32,64 siendo desde la fila cero hasta la fila 5, esto se repite para todas las columnas, segundo se testea la tecla a enviar y esta a su vez hace que se sumen todas las teclas presionadas con su respectivo valor y se almacena en una variable y se visualiza en un label o texbox, luego se envían los códigos en orden por medio del RN42 a una velocidad de 9600 (este tutorial ya esta expuesto en este mismo blog)

tercero, los codigos llegan al pic y se esta testeando el pueerto rs232 y cuando llegue la primera teclas la cual es muy diferente a las generadas en la matriz se compara y si es igual se empieza a almacenar cada codigo en variables diferentes hasta que llegue a las 5 vaolres enviados, luego se hace el proceso de activar una matriz corriendo un bit, esta accion se hace por un corto tiempo y luego se borra todo y se vuelve a testear todo nuevamente.

sin mas preambulo les dejo el prototipo de este proyecto.
_____________________________________________________________________________



puedes descarga este proyecto completo desde como se hace una matriz hasta el source code de la matriz

clave : editronikx
_____________________________________________________________________________

este proyecto ha sido diseñado desde cero, desafortunadamente en los videos que encontre referente a este tema solo exponen su trabajo mas no su codigo, y de paso trabajan en otros lenaguejes que yo no domino, por tanto esto esta hecho 100% por mi by_editronikx ing edison V

apoya mi trabajo con una donacion