Matriz 8x32 con PIC16F84A

#82
¿Tendría que modificar la placa de los leds invirtiendo la posición de éstos para que queden de esta forma?
No. Olvídate de poner los LEDs en paralelo.
Esta es una matríz 8x8 con los ánodos en las columnas: Ã￾nodos en las columnas.jpg

Y esta otra, tiene los cátodos en las columnas: Cátodos en las columnas.jpg

Fíjate bien que ninguno de los LEDs está conectado en paralelo.

Puedes usar ambas, el asunto está en como se controlen.

Por los ánodos deben recibir voltaje positivo y por los cátodos voltaje negativo: LED.JPG
 
#83
saludos D@rkbytes, realice una matriz de 8x8 con cátodos a columnas y realice la conexión en el proboard, lo que pasa es que se prenden todos los leds, al resetear el pic parpadean muy rápido y sin notar algún caracter cambie la veocidad a 1, 2 y 3 ms no se como utilizar los us (micros segundos), mi cristal es de 20 Mhz
Anexo el circuito que utilice para la matriz de 8x8, al parecer esta bien
 

Adjuntos

Última edición:
#84
¿Y ahora que los paneles tienen los cátodos en las columnas, qué programa estás usando?
¿Ya verificaste que los 74HC164 estén funcionando?
Si no tienes una punta lógica, puedes usar un LED.
Para el programa del post #68 debes colocar el cátodo en cualquier pin de salida del 74HC164 y el ánodo hacia positivo.
Con esto deberás ver que el LED destella rápidamente, y si colocas el ánodo en cualquier pin del puerto B, deberás ver que destella más lento.
Y para el programa del post #80 es lo contrario, el ánodo hacia cualquier pin de salida del 74HC164 y el cátodo hacia negativo o hacia cualquier pin del puerto B.

Recuerda que debes tener en cuenta la polaridad con la que se están controlando los LEDs.

Otro detalle: La velocidad de desplazamiento se ajusta con el rango del "Contador3" (Está en 35)
Es en esta parte del programa:
Código:
Shift_Left:
    If Contador3 = 35 Then
        Contador3 = 0
        Contador4 = Contador4 + 1
        If Contador4 = 2 Then
        ...
Para usar microsegundos en PICBasic Pro, se usa: PauseUS

Creo que tendré que comprar o armar un panel 8x8 para ver que hace esta matríz físicamente. :unsure:
 
#86
Pues ya lo he intentado, la matriz de cátodos a columnas con el programa de LEDs 4x64 v2 pero no prende nada, más bien no se nota algún caracter
¿Ya probaste cada fila con su columna independientemente?
¿Realizaste la prueba de funcionamiento de los 74HC164?

Verifica si les hace falta corriente a los LEDs disminuyendo el valor de las resistencias.
Las comprobaciones no son complicadas pero si necesitas tener algo de noción y conocimientos para determinar por qué no enciende.
 
#87
D@rkbytes, ya realice las pruebas de la matriz aislada del circuito de control, la prueba a las salidas del 74hc164, solo funciona cuando utilizo el programa con un cristal de 4MHz obteniendo en cada salida 2.2v pero cuando ocupo un cristal de 16 o 20 Mhz la salida del 74hc164 se encuentra en los milivolts, tal vez sea un problema de fecuencia o bien de corriente.
Todo el circuito lo estoy alimentando con una fuente de 5 volts a 1 ampere
 
#88
D@rkbytes, ya realicé las pruebas de la matríz aislada del circuito de control, la prueba a las salidas del 74HC164, sólo funciona cuando utilizo el programa con un cristal de 4MHz, obteniendo en cada salida 2.2v pero cuando ocupo un cristal de 16 o 20 Mhz, la salida del 74HC164 se encuentra en los milivolts, tal vez sea un problema de frecuencia o bien de corriente.
Todo el circuito lo estoy alimentando con una fuente de 5 volts a 1 ampere
Estuve realizando una pruebas físicamente con algunos LEDs y pude comprobar lo siguiente:
El circuito y el programa del post #80, no funciona. Se mantienen los LEDs encendidos.
En vez de realizar una conmutación completa, existe variación de intensidad, así que ese circuito queda descartado. (Es el circuito con transistores NPN)

El circuito y programa del post #78 usando transistores PNP, si funciona, pero el 74HC164 no tiene la suficiente corriente para alimentar los LEDs.
A partir del consumo de dos LEDs ya empieza a atenuarse el brillo, y es por lo que comenté en el post #59

Entonces, para que esta matríz funcione, también será necesario agregar un buffer a cada salida de los 74HC164.
Este buffer no debe ser inversor y se tendría que usar el adecuado. (Debe entrar y salir un 0)

Como parte del tema, adjunto una matríz de LEDs 8x8 que actúa como la que tiene ISIS por defecto, pero está diseñada con LEDs independientes.
Al ser 64 LEDs la sobrecarga en ejecución es elevada, por lo que se tienen que precargar los switchs y después ejecutar la simulación.

En este diseño se puede ver como están conectados internamente los LEDs de la matríz 8x8 de Proteus, y sirve para entender su funcionamiento.
 

Adjuntos

#91
ok perdon, es que en la simulación que adjunte no es la correcta los anodos a columnas y los catodos a filas, con respecto al buffer eh pensado en utilizar el 74hc244 crees que con este baste aunque tendria que poner dos buffer's por cada registro de corrimiento 74hc164
 
#93
Saludos, te cuento como voy, ya pude desplegar el texto, pero sale invertido, los LEDs que tienen que estar prendidos, están apagados y viceversa, otra cuestion, probe el codigo que me mandaste y funciona, pero cuando lo modifico y compilo me marca error en estas lineas de código
Código:
#Config
	__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _BOREN_OFF & _LVP_OFF
#EndConfig
aparece como sintax error.
Y al ponerlos como comentario si me deja compilar pero físicamente no da resultado,
 
#94
Te cuento como voy. Ya pude desplegar el texto, pero sale invertido, los LEDs que tienen que estar prendidos, están apagados y viceversa.
Entonces realiza una prueba modificando las letras con los bits invertidos.
He subido dos programas para generar las letras, uno invierte los bits y el otro no.
Ve cual te sirve para ahora invertir los bits de las letras.
Otra cuestión; probé el código que me mandaste y funciona, pero cuando lo modifico y compilo, me marca error en éstas líneas de código:
Código:
#Config
    __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _BOREN_OFF & _LVP_OFF
#EndConfig
aparece como sintax error.
Y al ponerlos como comentario si me deja compilar pero físicamente no da resultado,
Ese error es porque esa palabra de configuración es para compilar el programa usando PBP3.
Mira en la cabecera del programa que también está la palabra de configuración para PBP 2.60x.
Se encuentra comentada con ";", descoméntala y comenta o elimina la de PBP3.

Tendrá que quedar de esta forma:
Palabra de configuración PBP 2.60x.jpg
Esto es en el caso de usar PBP 2.60x y sin compilar con MPASM.
 
#95
Gracias D@rkbytes, ahora el problema es el siguiente, al cambiar la cabecera me sigue marcando error como se muestra en la imagen cuatro la configuracion de MicroCode Studio se observa en las imagenes uno, dos y tres

con respecto al código lo modifique de para que se invirtieran los LEDs
En tu código esta de esta forma
Código:
 Case "1" 
            Char_Length = 8
			Char[8] = %11111111
			Char[7] = %11111111
			Char[6] = %11111110
			Char[5] = %00000000
			Char[4] = %10111110
			Char[3] = %11111111
			Char[2] = %11111111
			Char[1] = %11111111
y yo lo puse de esta forma para invertirlos

Código:
Case "1" 
            Char_Length = 8
			Char[8] = %00000000
			Char[7] = %00000000
			Char[6] = %00000001
			Char[5] = %11111111
			Char[4] = %01000001
			Char[3] = %00000000
			Char[2] = %00000000
			Char[1] = %00000000
Pero al compilarlos me marca error, solo compila cuando comento ambas cabeceras pero fisicamente no trabaja, solo en la simulación
 

Adjuntos

Última edición:
#96
Gracias D@rkbytes, ahora el problema es el siguiente, al cambiar la cabecera me sigue marcando error como se muestra en la imagen cuatro la configuración de MicroCode Studio se observa en las imágenes uno, dos y tres
Pero al compilarlos me marca error, solo compila cuando comento ambas cabeceras pero fisicamente no trabaja, solo en la simulación
Recuerda que ya te había dicho el motivo de ese error:
Eso ocurre cuando la compilación se realiza usando MPASM
Y comentaste que estabas usando Windows 7 pero que ibas a usar Windows XP.
Sí, en Windows 7. Probaré en un equipo con Windows XP
Para establecer los fuses en Windows 7 usando MPASM, mira el siguiente post:
Configuración de fuses en PICBasic Pro usando MPASM
 
#97
Que version de MicroCode Studio me recomienda instalar en mi máquina con XP?
acabo de actualizar mi máquina le puse Windows XP, espero me puedas ayudar con la version indicada para esa máquina.
Seria la misma que tenia anteriormente o tú cual me recomendarias?
Gracias
 
Última edición:
#98
Te recomiendo la versión 3.0.0.5 de MCS Plus con PBP 2.60C.
Ahora ya existe una versión más nueva, MCSX 5.0.0.0, que es la que uso actualmente con PBP 3.0.7.1.
Igualmente que las versiones anteriores, también es de pago y es la que uso actualmente.
Las actualizaciones, soporte y herramientas extra, se encuentran en la página oficial.
microEngineering Labs
 
Última edición:
#99
He instalado la versión de Microcode que me recomiendas y la de PICBasic Pro, pero sigo teniendo el mismo problema.
Tengo instalado windows XP service pack 3, tal vez tengo mal mi configuración del MicroCode Studio.

---------- Actualizado después de 2 horas ----------

Tengo instalado el MicroCode Studio Plus V3.0.0.5 y el PICBasic Pro 2.60
Descargué el patch 2.60C y me marca este error.
Como ensamblador tengo el MPASMWIN520
 

Adjuntos

Última edición por un moderador:
He instalado la versión de Microcode que me recomiendas y la de PICBasic Pro, pero sigo teniendo el mismo problema.
Tengo instalado windows XP service pack 3, tal vez tengo mal mi configuración del MicroCode Studio.

---------- Actualizado después de 2 horas ----------

Tengo instalado el MicroCode Studio Plus V3.0.0.5 y el PICBasic Pro 2.60
Descargué el patch 2.60C y me marca este error.
Como ensamblador tengo el MPASMWIN520
Si ya estás usando Windows XP SP3 y al tratarse de un PIC16, no compiles usando MPASM.
Ve al menú View/Compile and Program Options...
Y en la pestaña Assembler, deselecciona la opción: Use MPASM
Así: Compilar sin MPASM.jpg
 

Temas similares

Arriba