Estoy aprendiendo a controlar este LED de matriz de puntos ( hoja de datos OSL641501-ARA ). He visto algunos tutoriales sobre cómo controlarlo con 2 registros de desplazamiento. El problema es que estoy totalmente confundido con el concepto de mostrar un personaje en él.
Me parece que mientras apague un punto por
El resultado inesperado es que se efectúa una línea completa de puntos.
Por favor, dime cuál es el truco para eso. ¿Cómo puedo evitar encender o apagar "accidentalmente" otros puntos?
El "truco" se llama "Persistencia de la Visión".
La idea es que nunca controle solo un punto, sino que controle toda la matriz, pero haciéndolo en una fila o en una columna a la vez.
Usted nomina una dirección para que sea la dirección "común"; en este ejemplo, la tomaremos como la FILA. También supondremos que la FILA debe configurarse en 0 V y la COLUMNA debe configurarse en 3 V para encender un LED.
Luego, debe escanear cada fila, configurar esa fila en 0 V y todas las demás filas en 3 V, de modo que solo los LED en esa fila puedan encenderse. Luego enciende los LED para esa fila (conduciendo los pines COLUMN a 3V). Luego los vuelve a apagar y pasa a la siguiente fila. Repita hasta que haya hecho todas las filas, luego vuelva al principio.
Si lo hace lo suficientemente rápido, parece que tiene todas las filas funcionando a la vez, pero cada fila tiene su propio conjunto de LED encendidos.
Normalmente mantendría una matriz de estados de LED en su programa (también llamado "Búfer de marco"), y dibujar un carácter es una cuestión de configurar los diferentes estados de LED en esa matriz. Su rutina de visualización luego usa esos estados de LED para determinar qué LED encender para cualquier fila específica.
En primer lugar, construyes tu personaje en términos de los puntos que deseas seleccionar. el truco es que muestras tu personaje dividiendo sus componentes en filas o columnas. en aras de la simplicidad, lo divides en columnas. Para cada columna de tu personaje, activas esa columna y activas solo las filas que se supone que deben estar activadas solo para esa columna particular. Entonces verás la primera columna de tu personaje. Ahora haces lo mismo para la siguiente columna de tu personaje, pero la primera columna que mostraste desaparecerá. pero no te preocupes Muestras cada columna de tu personaje una por una. Ahora, el truco para mostrar el personaje completo es aumentar la velocidad de tu controlador para cambiar entre cada columna más rápido. Recuerde que sus ojos no pueden ver frecuencias superiores a 30 Hz. Entonces, si barre cada una de sus columnas por 8 * 30 Hz (multiplica por 8 ya que tiene 8 columnas, 30 hz está en el medio) = 240 Hz, entonces debería ver el carácter completo en su matriz. A mayor frecuencia vas mejor se mostrará el personaje. pero no desea aumentarlo demasiado, de lo contrario, la intensidad de la luz puede disminuir. Por lo tanto, el tiempo mínimo entre el inicio de la primera columna y el inicio de la segunda columna debe ser de 1/240 s.
Znatz
Majenko
Znatz