Mostrar el carácter de matriz de puntos OSL641501-ARA LED

1

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 turnos. El problema es que estoy totalmente confundido con el concepto de mostrar un personaje en él.

Me parece que siempre que apague un punto

  1. configurando el pin correspondiente de la columna y la fila a 0V,
  2. o, configurando el pin de fila y fila correspondiente a 3V

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 "accidentalmente" activar o desactivar otros puntos?

    
pregunta Znatz

2 respuestas

3

El "truco" se llama "Persistencia de la visión".

La idea es que nunca controlas solo un punto, sino que controlas toda la matriz, pero si lo haces una fila o una columna a la vez.

Nombras una dirección para que sea la dirección "común": en este ejemplo, consideramos que es la FILA. También asumiremos que la FILA debe establecerse en 0V y la COLUMNA debe configurarse en 3V para encender un LED.

A continuación, debe escanear cada fila, configurando esa fila a 0V y todas las demás filas a 3V, de modo que solo los LED de esa fila puedan encenderse. Luego enciende los LED para esa fila (al colocar los pines COLUMNA a 3V). Luego, apágalos nuevamente y avanza a la siguiente fila. Repita hasta que haya terminado todas las filas, luego regrese al inicio.

Si lo haces lo suficientemente rápido, parece que tienes todas las filas corriendo a la vez, pero cada fila tiene su propio conjunto de LED encendidos.

Normalmente, mantendrías una matriz de estados de LED en tu programa (también llamado "Frame Buffer"), y dibujar un carácter es 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 una fila específica.

    
respondido por el Majenko
1

Primero, construye los caracteres de los puntos que quieras seleccionar. el truco es que muestres a tu personaje dividiendo sus componentes en filas o columnas. Para simplificar, lo divides en columnas. Para cada columna de tu personaje, enciendes esa columna y solo giras las filas que se supone que están activadas solo para esa columna particular. Luego verás la primera columna de tu personaje. Ahora haces lo mismo para tu próxima columna en tu personaje, pero la primera columna que mostraste se irá bien. pero no te preocupes Muestras cada columna de tu personaje una por una. Ahora, el truco para mostrar a todo el personaje es aumentar la velocidad de su controlador para cambiar entre cada columna más rápido. Recuerda que los ojos no pueden ver frecuencias de más de 30 Hz. Entonces, si barre cada una de sus columnas en 8 * 30 Hz (multiplique por 8 ya que tiene 8 columnas, 30 hz está entre) = 240 Hz, entonces debería ver el carácter completo en su matriz. Cuanto más alta vayas, mejor se mostrará el personaje. pero no desea aumentar demasiado, de lo contrario, su intensidad de 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 1/240 s.

    
respondido por el dr3patel

Lea otras preguntas en las etiquetas