Autor Tema: Matriz de LEDS de 7x32  (Leído 235101 veces)

Ariel

  • Global Moderator
  • dsPIC
  • ****
  • Mensajes: 10753
    • uControl
Matriz de LEDS de 7x32
« en: Septiembre 19, 2008, 07:57:38 am »
Matriz de LEDS de 7x32
(7 filas y 32 columnas)

Introducción
En este proyecto veremos como diseñar y construir un display de diodos leds, que nos servirá de pantalla para exhibir textos o imágenes, fijas o animadas. Los usos son varios, desde un sofisticado modding en el gabienete de nuestro ordenador hasta su empleo como medio para exhibir mensajes o publicidad. Por supuesto, sus dimensiones pueden resultar insuficientes para algunos usos, pero es fácilmente expandible.

La gran mayoría de los aficionados a la electrónica, tarde o temprano, se propone la construcción de un cartel basado en una matriz de diodos LEDs. El propósito de este artículo es explicar, de forma clara y sencilla, la forma de hacerlo.


Un cartel formado por varias filas y columnas de LEDs, convenientemente programado, puede servir para pasar mensajes publicitarios, decorar nuestra habitación, ordenador o lo que se nos ocurra. No solo se trata de un proyecto más que interesante para llevarlo a cabo como hobbysta, sino que puede resultar interesante como un producto comercializable. Es que estas matrices, que en algunos países se las conoce como “cartel de LEDs” o “Publik”, son un recurso muy frecuentemente utilizado con fines publicitarios o informativos.

Descripción del proyecto (“Houston, tenemos un problema”)
Por ejemplo, un PIC16F876A de 28 pines dispone de 22 dedicados a funciones de E/S, y su hermano mayor, el PIC16F877A que cuenta con un total de 40 pines dedica 33 a estos menesteres. Habitualmente, con un número así de pines de control es posible resolver correctamente casi cualquier situación que se nos plantee, ya que normalmente en el diseño de un circuito de control basta con leer unos pocos pulsadores o sensores, y luego de realizar internamente algún proceso con esas señales, se actúan (o no) unas pocas cargas conectadas a sus salidas, generalmente mediante reles o interfaces de algún tipo. Sin embargo, hay caso concretos en que ningún PIC (o microcontrolador de otras familias) puede aportar en numero suficientes de E/S que permitan controlar todas las cargas conectadas a el, y se deben recurrir a circuitos de apoyo comandados mediante señales de control y utilizando un bus de datos. Uno de esos casos es el que nos ocupa en este articulo.

En lo que respecta a las entradas y salidas (E/S), cada microcontrolador, al igual que cualquier computadora, dispone de un numero finito de ellas, y en general, se trata de un numero no demasiado elevado. Esta claro que si queremos formar una imagen mediante pixeles compuestos por LEDs individuales, harán falta un numero de líneas de control mucho mayor que las disponibles en cualquier microcontrolador.

Nuestra pantalla será semejante a esos displays que seguramente habrán visto en algún comercio o local de servicios, en los que un texto realiza un scroll de derecha a izquierda, a una velocidad que permite la ilusión de un movimiento suave y continuo. Estas matrices de leds generalmente están conformadas por un cierto número de filas y de columnas.

Para permitir un texto legible, que represente claramente los caracteres correspondientes a las letras mayúsculas y minúsculas hacen falta unas 7 filas de alto, y si queremos que el display muestre unos 10 o 12 caracteres simultáneamente, necesitaremos unas 100 columnas.

Si multiplicamos el numero de filas por las columnas, tendremos el numero de LEDs que hay presente en un display de este tipo. Con los valores que mencionábamos recién, vemos que se necesitan 700 LEDs para un display no muy complejo, y de un solo color.

Si nos limitáramos a los medios “tradicionales” para encender o apagar cada LED del display, es decir, conectando cada uno de ellos a un pin de salida del PIC y encenderlos mediante 0 o 1 publicados en ese bit del puerto, nos harían falta un PIC con al menos 700 pines, algo que debemos descartar de plano por que no existe.

Una solución posible seria utilizar varios PICs conectados entre si, de manera que cada uno maneje por ejemplo dos o tres columnas, y mediante algún protocolo se envíen mensajes entre ellos para mostrar la parte del texto que le corresponde. Esta alternativa tiene más posibilidades de éxito, pero cuenta con la contra de una programación compleja y un costo elevado, ya que se necesitan unos 3 PICs por carácter, lo que económicamente no es viable.


La respuesta a este problema viene de la mano de la multiplexacion, el empleo de buses y circuitos de apoyo que transformen datos enviados en forma serial a una representación en paralelo.

Multiplexado
El termino “multiplexar” hace referencia a una técnica que permite aprovechar unas pocas líneas de datos para diferentes tareas, cambiando la función que cumplen a lo largo del tiempo. Un ejemplo podría ser un sistema de control de temperaturas de varios ambientes. Dado que la velocidad no es crucial, ya que en términos de milisegundos (o microsegundos) la temperatura casi no varía debido a la inercia térmica, se puede utilizar un único circuito que lea alternativamente cada sensor de temperatura. Esto evita la duplicación de circuitos y permite resolver el problema con una fracción de los recursos (pines I/O) disponibles.

En el caso de este proyecto, la pantalla que construiremos esta formada por una matriz de 224 diodos LEDs distribuidos una matriz de 32 columnas por 7 filas. Estos valores se eligieron por ser casi los mínimos para lograr un display útil, ya que un carácter para ser legible necesita tener una altura de 5 o 7 píxeles, y un ancho como mínimo de 5. Con estas dimensiones, lograremos ubicar un texto de unos 5 o 6 caracteres, que opcionalmente puede irse desplazando por la matriz.

El hardware(Tres Placas)
Por razones de comodidad, el proyecto se distribuyo sobre tres placas de circuito impreso diferentes. La primera de ellas, encargada de la alimentación, control lógico y la comunicación con la PC es la que incluye el PIC, corazón del proyecto. Además, en ella se encuentra la etapa de alimentación, excepto el transformador, llave y fusible que deberán alojarse en el gabinete que contenga esta placa.

La alimentación esta basada en un regulador de voltaje LM7805, capaz de entregar 500mA sin disipador, y hasta 1A si lo refrigeramos convenientemente. Si sacamos algunas cuentas, veremos que gracias al multiplexado nunca debería haber más de una fila encendida al mismo tiempo, que en el caso más desfavorable tendría 32 leds encendidos. Cada LED consume unos 15 miliamperes (5V / 330 ohms = 0.015A), por lo que el consumo de la “pantalla” es de 0.015 x 32 = 480mA, si esto sumamos el consumo del resto de la electrónica, el consumo total ronda los 600mA. El LM7805 de mi prototipo apenas se entibia sin utilizar disipador.


El PIC se encarga de generar los pulsos de CLOCK y DATOs (pines 17 y 18) que son enviados a la “placa de video” que es la que tiene los 74HC164N que forman un registro de desplazamiento. También tiene la posibilidad de conectarse a una PC vía RS-232 (ver mas adelante) y controla los drivers que proveen la corriente que alimenta cada fila del display. Como la corriente es muy elevada para ser entregada directamente por el PIC, se incluyeron 7 transistores BC327 para esta tarea.

Se utilizo un cristal de 4MHz y dos capacitores de 22 nF para generar los pulsos de reloj del micro en lugar del reloj interno, para lograr una mejor estabilidad con la temperatura, ya que en caso se utilizar la conexión RS-232 la velocidad es un tema delicado.

La segunda de las placas, que se conecta mediante un cable plano a la primera, es la encargada de controlar el display. Recoge los pulsos de CLOCK y los datos provenientes de la placa controladora vía el cable plano, y energiza las columnas que correspondan. Los 74HC164N se conectan a cada columna a través de una resistencia de 330 o 390 ohms.

Si se quiere aumenta el brillo de los LEDS, pueden reemplazarse por resistencias de 220 ohms (o incluso menores), pero asegurándose que el tiempo de encendido de los leds no pase de unos milisegundos por vez para evitar su envejecimiento prematuro. También hay que prestar atención al consumo de corriente total, y posiblemente cambiar los transistores BC327 por BC640, capaces de manejar corrientes mas elevadas.

Por ultimo, la placa mas sencilla, pero a la vez mas laboriosa desde el punto de vista constructivo es la “pantalla” propiamente dicha, ya que esta formada por 224 diodos LEDs. Esta placa recibe las señales de control provenientes de la “placa de video” mediante pines de bronce que le otorgan soporte mecánico y eléctrico simultáneamente, y mediante 7 pequeños cables que son los encargados de seleccionar la fila que vamos a iluminar.


NOTA IMPORTANTE: En el esquema no figura la conexión del PIN 9 (RESET) del 74HC164N a +V, aunque si está contemplado en el diseño del PCB. Ese pin DEBE estar a +V para que el circuito funcione.

El cable plano
Para enviar los datos desde la placa de control a la “placa de video” se utilizo un cable plano de 10 vías, con fichas en los extremos muy parecidas a las empleadas para conectar unidades de CD-ROM dentro de la PC, pero más pequeñas. Hay que tener cuidado que al armar el cable las fichas no queden invertidas, y las señales de un extremo terminen siendo un espejo de las aplicadas en el otro.

Dado que los conductores de este cable son muy delgados, para evitar problemas se utilizaron dos cables de más sección para llevar los 5V de alimentación hasta esta placa. Hay que tener en cuenta de conectarlos con la polaridad correcta para evitar destruir algún componente.


Lista de componentes
    * 1 porta fusible y fusible de 1 A.
    * 1 transformador de 220V a 6V, 1 A.
    * 1 puente de diodos de 1 A
    * 1 regulador LM7805
    * 2 capacitores cerámicos de 100 nF
    * 2 capacitores cerámicos de 22 pF
    * 1 capacitor electrolítico de 220uF/16V
    * 1 dip-switch de 4 interruptores en formato DIL
    * 1 diodo 1N4148
    * 1 transistor BC547B
    * 7 transistores BC327
    * 1 cristal de 4 MHz.
    * 1 resistencia de 33K
    * 1 resistencia de 2K2
    * 4 resistencias de 10K
    * 7 resistencias de 1K5
    * 32 resistencias de 330 ohms
    * 224 leds rojos de 3mm
    * 1 microcontrolador PIC 16F628A
    * 4 Registros de desplazamiento 74HC164N
    * 20 cm. de cable plano de 10 vías y dos fichas
    * 3 borneras de 2 contactos, para circuito impreso
    * Varios: zócalos para los integrados, pines de bronce, circuito impreso virgen de una sola cara.

PCBs
Son necesarias tres placas de circuito impreso para este proyecto, cuyos diseños son los siguientes:


Placa de control.(Descargar en PDF)


Placa de "video".(Descargar en PDF)


Placa del display.(Descargar en PDF)


(Continúa en el siguiente post)
« Última modificación: Enero 23, 2010, 11:04:16 am por Ariel »
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Ariel

  • Global Moderator
  • dsPIC
  • ****
  • Mensajes: 10753
    • uControl
Re: Matriz de LEDS de 7x32
« Respuesta #1 en: Septiembre 19, 2008, 07:58:21 am »
Matriz de LEDS de 7x32: El Software


Programación
Si bien la construcción de este proyecto es un poco mas compleja que otros encarados antes, la parte del software es la que seguramente nos costara mas trabajo, pero los resultados bien valen la pena. Hemos adjuntado el listado correspondiente al programa que genera el texto “POWER” para que sirva de ejemplo, pero la idea es que cada uno realice su propio software utilizando como punto de partida las ideas y datos que expondremos a continuación.

Como dijimos antes, la pantalla esta formada por una serie de filas y columnas. La intersección entre ambas contiene un LED. Para que este encienda, tiene que recibir simultáneamente un “0” en la fila, y un “0” en la columna. Cuando se dan estas condiciones, la electrónica de la “placa de video” se encarga del encendido.

La forma de generar un mensaje sobre el display es relativamente sencilla, si nos atenemos al siguiente algoritmo:

   * 1) Apagar todas las filas, escribiendo un 1 en PORTB.0 y PORTB.2 al 7
    * 2) Escribir los valores correspondientes a la primer fila en el registro de desplazamiento, teniendo en cuenta que el primer digito binario colocado corresponde al ultimo LED de la fila, y el ultimo en poner al de la primer columna.
    * 3) Poner un “0” en la primer fila (PORTB.0 = 0), esperar un tiempo, y volver a apagarla con PORTB.0 = 1.
    * 4) Repetir los pasos para las filas 2 a 7.


Los tiempos de demora que utilizamos en el programa de ejemplo permiten una visualización correcta, sin molestos parpadeos y con los LEDS brillantes. Hay que tener en cuenta que si utilizamos tiempos mayores para el encendido de cada fila, el brillo de los LEDS será mayor, pero también aumentara el parpadeo. No utilizamos vectores ni otras alternativas que hubieran servido para crear un código mas compacto, buscando la claridad del programa, para que pueda servir como base a otros mas completos/complejos.



El registro de desplazamiento
Vamos a detenernos un momento para explicar como se introducen los datos en el registro de desplazamiento. Lo primero a tener en cuenta es que los datos deben entrar de izquierda a derecha, es decir, el primer dato que introduzcamos sera “empujado” por los que vienen detrás hasta llegar a la ultima columna. En segundo lugar, hay que saber (recomendamos la lectura de la hoja de datos del 74LS164N) que el dato ingresa al registro en el momento que se produce la transición de “0” a “1” del pulso de CLOCK, por lo que se deberán seguir los siguientes pasos para ingresar cada uno de los 32 valores correspondientes a cada fila:

   * 1) Fijar el valor del dato a escribir (si DATA es 1, hacer PORTA.1 = 1, si no PORTA.1 = 0)
    * 2) Esperar un par de microsegundos (WaitUs 2)
    * 3) Poner la línea de CLOCK en estado bajo (PORTA.0 = 0).
    * 4) Esperar un par de microsegundos (WaitUs 2)
    * 5) Poner la línea de CLOCK en estado alto (PORTA.0 = 1). En este punto el dato entra efectivamente en el registro de desplazamiento.
    * 6) Esperar un par de microsegundos (WaitUs 2)
    * 7) Fin

Los tiempos de demora de dos microsegundos funcionan, pero se puede experimentar un poco con ellos, dado que según la hoja de datos la frecuencia máxima de trabajo del 74LS164N es de 25MHz., por lo que demoras menores deberían trabajar bien. Con estos tiempos, la escritura de los 32 bits de una línea demora unos 350 microsegundos, tiempo más que aceptable. En el código fuente se puede ver que por cada línea a escribir en la pantalla se utiliza un bloque como el siguiente

aux = %0010001011111001
Código: [Seleccionar]
Gosub escribo
aux = %0100011100000010
Gosub escribo
Fila1 = 0
WaitMs 2
Fila1 = 1
Goto loop
End

Básicamente, se llama dos veces a la subrutina “escribo” que comentaremos en un momento, con 16 bits en la variable “aux”.

Luego se enciende la fila escribiendo un “0” en el pin apropiado, se esperan un par de milisegundos, se apaga escribiendo un “1”, y se pasa a la fila siguiente. La subrutina escribo se encarga de procesar el contenido de la variable “aux”, bit por bit, viendo si son “0”o “1” y escribiendo el dato correspondiente en el registro de desplazamiento. La instrucción “aux = ShiftLeft(aux, 1)” se encarga de rotar los 16 bits de la variable a la izquierda, para tomar el bit siguiente.

Código fuente
A continuación, el código fuente de ejemplo, en BASIC del PIC SIMULATOR IDE.
Código: [Seleccionar]
'----------------------------
 'Programa de ejemplo display 7x32
 'Texto fijo: POWER
 '
 'PIC: 16F628A - 4Mhz XTAL, SIN RESET
 '
 '----- CONFIGURO PUERTOS-----
 PORTA = 0
 CMCON = 7  'Configuro PORTA como Digital I/O
 '
 'Configuro el portA:
 TRISA.0 = 0  'Salida CLOCK
 TRISA.1 = 0  'Salida DATA
 TRISA.2 = 1  'Entrada Dip 0
 TRISA.3 = 1  'Entrada Dip 1
 TRISA.4 = 1  'Entrada Dip 2
 TRISA.5 = 1  'Entrada Dip 3
 '
 'Configuro el portB:
 TRISB.0 = 0  'Salida (Fila 1)
 TRISB.1 = 1  'Entrada RS-232
 TRISB.2 = 0  'Salida (Fila 2)
 TRISB.3 = 0  'Salida (Fila 3)
 TRISB.4 = 0  'Salida (Fila 4)
 TRISB.5 = 0  'Salida (Fila 5)
 TRISB.6 = 0  'Salida (Fila 6)
 TRISB.7 = 0  'Salida (Fila 7)
 '
 'Simbolos
 Symbol clock = PORTA.0
 Symbol data = PORTA.1
 Symbol fila1 = PORTB.0
 Symbol fila2 = PORTB.2
 Symbol fila3 = PORTB.3
 Symbol fila4 = PORTB.4
 Symbol fila5 = PORTB.5
 Symbol fila6 = PORTB.6
 Symbol fila7 = PORTB.7
 clock = 0
 data = 0
 '
 'Declaracion de variables
 Dim col As Byte
 Dim aux As Word
 '
 PORTB = 255  'Apago todas las filas antes de comenzar
 '
 '---------BUCLE PRINCIPAL------------
 Loop:
     aux = %0001111011111010
     Gosub escribo
     aux = %0010011100011110
     Gosub escribo
     fila1 = 0    
     WaitMs 2
     fila1 = 1    
 '
     aux = %0010001000001010
     Gosub escribo
     aux = %0010100010100010
     Gosub escribo
     fila2 = 0    
     WaitMs 2
     fila2 = 1      
 '
     aux = %0010001000001010
     Gosub escribo
     aux = %0010100010100010
     Gosub escribo
     fila3 = 0    
     WaitMs 2
     fila3 = 1    
 '
     aux = %0001111000111010
     Gosub escribo
     aux = %0010100010011110
     Gosub escribo
     fila4 = 0    
     WaitMs 2
     fila4 = 1    
 '
     aux = %0000101000001010
     Gosub escribo
     aux = %1010100010000010
     Gosub escribo
     fila5 = 0    
     WaitMs 2
     fila5 = 1      
 '
     aux = %0001001000001001
     Gosub escribo
     aux = %1100100010000010
     Gosub escribo
     fila6 = 0    
     WaitMs 2
     fila6 = 1      
 '
     aux = %0010001011111001
     Gosub escribo
     aux = %0100011100000010
     Gosub escribo
     fila7 = 0    
     WaitMs 2
     fila7 = 1    
 '
 Goto loop
 '
 End
 '
 'Subrutina que llena el registro de dezplazamiento
 escribo:
     For col = 1 To 16
         If aux.15 = 0 Then
              data = 1
              WaitUs 2
              clock = 0
              WaitUs 2
              clock = 1
              WaitUs 2
         Else
              data = 0
              WaitUs 2
              clock = 0
              WaitUs 2
              clock = 1
              WaitUs 2
         Endif
         aux = ShiftLeft(aux, 1)
     Next col
 Return


Conexión con la PC
El PIC16F628A dispone de un puerto RS-232 incorporado, con capacidad para recibir y transmitir datos, pero maneja solo niveles TTL, por lo que se incluyeron un par de resistencias, un diodo y un transistor para adecuar el nivel de la señal proveniente del puerto de la computadora a valores “digeribles” por el PIC. La función de los 4 dip-switches conectados a los pines 1,2,3 y 4 tienen como objetivo permitir asignar un numero del 0 al 15 (en binario) a cada placa. Esto permitiría conectar 16 placas iguales (cada cual con su pantalla de 7x32), donde cada una representaría el dato que esta dirigido a ella, para lograr un display total de 7x512 pixeles (aunque habría que soldar….3584 LEDS!)

En caso de utilizar la interfaz con la PC, hay que construir un cable de conexión, un programa en Visual Basic u otro lenguaje que envíe los datos por el puerto serie, en tramas compuestas por ejemplo por un byte de dirección (a que placa de las 16 corresponde el dato), y 4 bytes con el mensaje en si. Desde el lado del PIC, el software debería incluir la capacidad de discriminar los mensajes enviados a el (en función de la posición de los dip-switches) y representar los caracteres en la matriz.

Más y más ideas
Por supuesto, es imposible incluir aquí la explicación de todo lo que se puede hacer utilizando como punto de partida este proyecto, pero descartamos que los lectores modificaran el software (y por que no el hard!) para lograr atractivas marquesinas.

Lo más obvio para atacar es la comunicación con la PC. Esto permite una gran flexibilidad a la hora de escribir nuevos mensajes, ya que si no hay que reprogramar el PIC cada vez que queremos mostrar un mensaje nuevo. Por supuesto, esto implica crear tablas con la definición de cada carácter, recibir y analizar los mensajes que entren por el puerto RS-232, y por ultimo mostrarlos en la pantalla. Un verdadero desafío.

Algo más sencillo pero igualmente útil es el implementar rutinas de scroll. Si bien el programa para ello no es trivial, se puede encarar cargando en una matriz los “0” y “1” que representan la totalidad del mensaje a mostrar, y luego ir desplazándose por ella a medida que se muestran los datos en la pantalla.

Un scroll vertical se puede hacer fácilmente rotando los datos de cada fila, el de la 1 a la 2, la 2 a la 3……..y la 7 a la 1.

En lo particular, cuanto disponga de un rato de tiempo, voy a utilizar este display como pantalla de un reloj/termómetro. Haré una nueva placa para el PIC, cambiando los dip-switchs por pulsadores para ponerlo en hora y un sensor de temperatura one-wire DS1820. Se va a ver bien sobre el banco de trabajo.


Autor: Ariel
« Última modificación: Enero 23, 2010, 11:03:47 am por Ariel »
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Ariel

  • Global Moderator
  • dsPIC
  • ****
  • Mensajes: 10753
    • uControl
Re: Matriz de LEDS de 7x32
« Respuesta #2 en: Septiembre 19, 2008, 10:10:32 am »
Citar
Hola Ariel,
grasias por invitarme a tu Foro,
como deciamos acerca del proyecto Matriz de LEDS de 7 filas y 32 columnas,
yo e provado ad agregar dos columnas mas, pero me pongo la pregunta, vi que en los componentes hay cono un 1 dip-switch de 4 interruptores en formato DIL , que serian para controlar las 4 columnas.

ahora como me deberia comportar para la modifica echa por mi?

- otra opcion, en caso que yo no quiera modificar el panel de 4 columnas,

se le puede conectar el Controlador del cartel que pusiste para el ejemplo de  registro de desplazamiento?

por que me gustaria hacerlo mover las escritas, en caso que se pueda hacer, para este controlador no esta espuesto el  PCB ni los materiales, como se puede lograr contruirlo.

grasias otra ves Ariel, tu proyectos estan muy bonitos y como principiante me encuentro de lo mas envullado para realisarlos, no veo la ora de ver el resultado.

Hola amigo!
Los DIP están para implementar alguna funcionalidad por soft. Por ejemplo, para hacer que si usas mas de una placa conectada "en cascada" con otra, puedan diferenciarse por la posicion de los DIPs. No intervienen en nada relativo a las columnas. Quizas no haya entendido tu pregunta  ???

Para mover las cosas escritas, basta con escribirlas corridas una columna, luedo dos, etc. Eso esta explicado (mas o menos extensamente) en este articulo: Funcionamiento de una matriz de LEDs

Saludos!
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

musicale

  • PIC10F
  • *
  • Mensajes: 24
Re: Matriz de LEDS de 7x32
« Respuesta #3 en: Septiembre 19, 2008, 02:43:30 pm »
Hola Ariel,

estoy un poco bajo de moral, la primera cosa es que cada ves que imprimo el plan, como dices tu en tu pagina no me coiside la medida con los circuitos integrados, es verdad que se usar fotoshop, pero me parece una fatiga de mas tener que adivinar la medida justa, en otros proyectos que e realizado, casi siempre ponen un file compreso con los pcb fotos del trabajo ya realizado y todos los componenetes, en modo que sea mas facil  para nosotros los novatos hacer las cosas.

bueno volvemos al tema, la pregunta era, yo por el momento lo hare con 4 columnas, para primero gatear y luego caminar, pero me gustaria conectar el controlador de circuito que sea movil, creo si e leido bien, que tu respuesta era de si!!!

bien, ahora estoy haciendo una de las placas con esas que se llaman mil huecos, para primero probar, te agradeceria si pudieras poner un pcb, con las misuras justas y unas fotos del proyecto erminado, para ver bien donde van los componentes.
grasias Ariel

Ariel

  • Global Moderator
  • dsPIC
  • ****
  • Mensajes: 10753
    • uControl
Re: Matriz de LEDS de 7x32
« Respuesta #4 en: Septiembre 19, 2008, 03:02:34 pm »
Dentro de las próximas 24 horas, subo un PDF con el PCB listo para imprimir, y te pongo aqui el link para que lo descargues.
Si todo funciona como con otros proyectos, bastaria que lo imprimas al 100% desde el Acrobat Reader y listo.

Ahora....si quieres empezar de a poco y aprender un monton de cosas en el proceso, quizas deberias darle un vistazo a la matriz de LEDs de 8x8....es el mismo esquema lógico, pero con menos complejidad.

Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

musicale

  • PIC10F
  • *
  • Mensajes: 24
Re: Matriz de LEDS de 7x32
« Respuesta #5 en: Septiembre 19, 2008, 03:39:33 pm »
Ok, seguire tu consejo, pero espero tambien al proximo pdf, para el panel mas grande, que es el que me interesa.

musicale

  • PIC10F
  • *
  • Mensajes: 24
Re: Matriz de LEDS de 7x32
« Respuesta #6 en: Septiembre 22, 2008, 01:53:30 pm »
Hola Ariel, como estas?
espero que bien, oye te dire que estoy saldando los proyectos, pero tu sabes que yo soy nuevo en esto, y no se como se deben poner los leds, es decir las paticas y no quiero hacer que se rovine todo, que me pudieras ayudar, te pongo una imagen haci me indicas de que parte van, son 292 y estoy a un buen punto ;). oye mil grasias..




Ariel

  • Global Moderator
  • dsPIC
  • ****
  • Mensajes: 10753
    • uControl
Re: Matriz de LEDS de 7x32
« Respuesta #7 en: Septiembre 22, 2008, 02:16:56 pm »
Mmmm... a ver como hacemos para no meter la pata? :)

La mejor manera es que lo veas tu mismo. Viste el diagrama que hay en uControl? Este, del proyecto Matriz de LEDS de 7x32:



(En el articulo, si pinchas sobre la imagen, lo puedes ver mucho mas grande)

Bueno, la raya del simbolo del LED es su terminarl NEGATIVO, asi que al momento de soldarlos asegurate que la parte plana de la capsula del LED (o su pata mas corta) esten para el lado que indica la raya en el diagrama. Si lo haces asi, no tendrás problemas.

Saludos!
PD: Muy bueno....ya tenemos fotos! Sigue sacandole, y cuando termines, "publicamos" toda la secuencia del armado!  8)
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

musicale

  • PIC10F
  • *
  • Mensajes: 24
Re: Matriz de LEDS de 7x32
« Respuesta #8 en: Septiembre 22, 2008, 02:38:56 pm »
Para la raya del diagra, quiere decir que sera la que hara contacto? y la larga que seria el positivo, va para los lugares que no tienen contacto?
pongo la foto, luego te las mando todas, mira a ver si lo entiendes.
chao

Ariel

  • Global Moderator
  • dsPIC
  • ****
  • Mensajes: 10753
    • uControl
Re: Matriz de LEDS de 7x32
« Respuesta #9 en: Septiembre 22, 2008, 02:45:27 pm »
La pata de la raya va a la conexion de las columnas, es decir, a las pistas que lo unen con los registros de desplazamiento 74LS164N.

La otra pata va a los transistores, y si la memoria no me falla, sobre esa es que hay que hace toooooodos los puentes:

Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

musicale

  • PIC10F
  • *
  • Mensajes: 24
Re: Matriz de LEDS de 7x32
« Respuesta #10 en: Septiembre 22, 2008, 03:08:25 pm »
Ok creo de haber entendido esta parte, :) grasias, otra oregunta, el transitor si es haci como se llama, este negro de 220 uf, tiene un poro - y uno +, mira en la foto si la parte - va para donde estan los leds, y los otros dos disquitos, hay dos de 22 y uno de 104, las posisiones estan correctas? otra cosa, las resisitencias son: carmelita, negro, carmelita y dorado, por favor mira ver si estoy uvicandolas bien. oye te estoy jodiendo cantidad, pero amigo mio, sino se de electronica y me gusta, que puedo hacer?
chao, grasias.

Ariel

  • Global Moderator
  • dsPIC
  • ****
  • Mensajes: 10753
    • uControl
Re: Matriz de LEDS de 7x32
« Respuesta #11 en: Septiembre 22, 2008, 06:24:46 pm »
Bien. Vamos por partes.

Los de "220 uf" son condensadores electroliticos. El - para el negativo, y el + para el positivo

Los disquitos son condesadores ceramicos, y no tienen polaridad, asi que los puedes poner de una u otra forma sin problemas

Las resistencias tampoco tienen polaridad. "carmelita, negro, carmelita y dorado" quizas sea "Rojo, Negro, Rojo y dorado". Si es asi, son R de 2K.

Saludos!
PD: Y no jodes! :)
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

musicale

  • PIC10F
  • *
  • Mensajes: 24
Re: Matriz de LEDS de 7x32
« Respuesta #12 en: Septiembre 23, 2008, 03:47:04 pm »
Hola Ariel,
finalmente e terminado de soldar los 224 leds, pero ya los controle y todo que no tubieran falso contacto ni nada.

oye ahora, ayer te preguntava del condensador, como se ve en la imagen el negativo esta para la parte de los ldes " en el proyecto 8x8" y las ceramicas, son 4 quiero saber las posisiones de donde van, por ejemplo: las dos de 22 son las que estan de frente al PIC y al Eprom, y las dos de 104 son las que estan cerca una de la otra, entiendes, es que en la foto no se ve bien, y en el plano no es igual, no se entiende mucho sus posiciones. otra cosita, en la foto del 7x32, por atras de los leds hay unos alambres soldados entre los leds, y eso para que es?  de los integrados que estan en la base del 7x32 salen unos alambritos que van a las ileras, como son sistemadas, te pongo una foto segnalando esto ultimo. dale que ya me falta poco, el vendedor de la tienda no me dio el reset, ahora debo regresar.  : (


los pines que van a la resistencia ok, pero los otros que van a los cables deben tener contacto entre ellos?

ok grasias amigo
« Última modificación: Septiembre 23, 2008, 03:48:49 pm por musicale »

musicale

  • PIC10F
  • *
  • Mensajes: 24
Re: Matriz de LEDS de 7x32
« Respuesta #13 en: Septiembre 24, 2008, 06:32:40 pm »
Hola Ariel,
estoy casi terminado el proyecto, pero me falta saber que debo hacer por ejemplo en la parte trasera de los leds, que cosa debo soldar? hay unas hileras que son las que bajan y luego se comunicaran con las resistencias, pero las otras que quedan en el medio, las debo soldar entre ellas paralelamente?

otra cosita, please,, en el esquema dice que el ping 14 y 7 van a la masa. yo no entiendo bien, te puse una foto haci me hago entender, cuales son los pines que debo soldar a las lineas?

las lineas estan paralelamente a los pines 7,8,9 y 14   

es decir que el hueco mas lejos iria al ping 14.
el penultimo de los huecos va recto al ping 7.
el hueco del medio va recto al ping 9.
y por ultimo el hueco mas cerca al ping 8.

dale ayudame que me falta poco, grasias

Ariel

  • Global Moderator
  • dsPIC
  • ****
  • Mensajes: 10753
    • uControl
Re: Matriz de LEDS de 7x32
« Respuesta #14 en: Septiembre 24, 2008, 10:17:31 pm »
Hola amigo!

Tenes que hacer los puentes que se ven en la foto...de forma horizontal. Es una "chanchada", pero evita el tener que usar un circuito impreso doble faz.

No entiendo el comentario sobre los pines de alimentacion, pero CREO recordar que era un tema que faltaba en el esquema electrico, no en el circuito impreso. Asi que eso debe estar bien.

Espero que te funcione de una, por que si lo estas armando sin entender bien que es lo que hace cada cosa, va a ser una pesadilla resolver los problemas....ja ja ja ja ja!!!!!!  ;D ;D ;D

Te mando un abrazo, y perdon por las demoras en las respuestas  ;)
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert