cómo imprimir una cadena en 16 * 16 matriz de puntos de AVR

Quiero mostrar la cadena "LED GAME" como se indica en la imagen. Pero en la matriz de puntos, solo hay 16 + 16 = 32 pines. ¿Hay alguna forma de imprimir una cadena desde avr a dotmatrix?

enter image description here

0
Necesitaría realizar una exploración de trama: recorra todas las filas de forma continua y active los bits de columna relevantes para cada fila. Mientras lo haga lo suficientemente rápido, el ojo lo verá como una pantalla continua, al igual que una CRT pasada de moda.
agregado el autor Paul R, fuente
Necesitaría realizar una exploración de trama: recorra todas las filas de forma continua y active los bits de columna relevantes para cada fila. Mientras lo haga lo suficientemente rápido, el ojo lo verá como una pantalla continua, al igual que una CRT pasada de moda.
agregado el autor Paul R, fuente
Necesitaría realizar una exploración de trama: recorra todas las filas de forma continua y active los bits de columna relevantes para cada fila. Mientras lo haga lo suficientemente rápido, el ojo lo verá como una pantalla continua, al igual que una CRT pasada de moda.
agregado el autor Paul R, fuente
Considere utilizar 4 pantallas de matriz 8x8 LED y conducirlas con algo como MAX7219 . Hay un montón de códigos para manejar estas cosas con AVR y cómo conectarlos. El multiplexado simple 'fila a la vez' probablemente no se verá lo suficientemente brillante con un ciclo de trabajo de 1/16.
agregado el autor Brett Hale, fuente
Considere utilizar 4 pantallas de matriz 8x8 LED y conducirlas con algo como MAX7219 . Hay un montón de códigos para manejar estas cosas con AVR y cómo conectarlos. El multiplexado simple 'fila a la vez' probablemente no se verá lo suficientemente brillante con un ciclo de trabajo de 1/16.
agregado el autor Brett Hale, fuente
Considere utilizar 4 pantallas de matriz 8x8 LED y conducirlas con algo como MAX7219 . Hay un montón de códigos para manejar estas cosas con AVR y cómo conectarlos. El multiplexado simple 'fila a la vez' probablemente no se verá lo suficientemente brillante con un ciclo de trabajo de 1/16.
agregado el autor Brett Hale, fuente
También puede comprar pantallas de matriz 16x16 LED con hardware de control incorporado, pero no tengo experiencia con ellas.
agregado el autor Brett Hale, fuente
También puede comprar pantallas de matriz 16x16 LED con hardware de control incorporado, pero no tengo experiencia con ellas.
agregado el autor Brett Hale, fuente
También puede comprar pantallas de matriz 16x16 LED con hardware de control incorporado, pero no tengo experiencia con ellas.
agregado el autor Brett Hale, fuente

6 Respuestas

La mayoría de las matrices de LED se construyen internamente como este ejemplo aquí:

LED matrix

Para una matriz de 16x16 LED, tienes 16 pines para las filas y 16 pines para las columnas. Para ver cómo se construye su matriz específica, tendrá que encontrar su hoja de datos.

Para escribir cualquier cosa en la pantalla, configurará la primera fila en ON, todas las demás en OFF y activará los cols que necesite. Después de un retraso, establecerá la primera fila en OFF, la segunda fila en ON y activará los cols que desea ver en la segunda fila. Recorrerás todas las filas como esta. Como la demora será bastante breve, sus ojos no son lo suficientemente rápidos para ver que los LED están apagados la mayor parte del tiempo.

Yo sugeriría usar una interrupción de temporizador en tu microcontrolador e iterar a través de las filas en la rutina de interrupción. De esa manera, puede utilizar fácilmente el microcontrolador para otras cosas sin preocuparse demasiado por los problemas de tiempo.

3
agregado

La mayoría de las matrices de LED se construyen internamente como este ejemplo aquí:

LED matrix

Para una matriz de 16x16 LED, tienes 16 pines para las filas y 16 pines para las columnas. Para ver cómo se construye su matriz específica, tendrá que encontrar su hoja de datos.

Para escribir cualquier cosa en la pantalla, configurará la primera fila en ON, todas las demás en OFF y activará los cols que necesite. Después de un retraso, establecerá la primera fila en OFF, la segunda fila en ON y activará los cols que desea ver en la segunda fila. Recorrerás todas las filas como esta. Como la demora será bastante breve, sus ojos no son lo suficientemente rápidos para ver que los LED están apagados la mayor parte del tiempo.

Yo sugeriría usar una interrupción de temporizador en tu microcontrolador e iterar a través de las filas en la rutina de interrupción. De esa manera, puede utilizar fácilmente el microcontrolador para otras cosas sin preocuparse demasiado por los problemas de tiempo.

3
agregado

La mayoría de las matrices de LED se construyen internamente como este ejemplo aquí:

LED matrix

Para una matriz de 16x16 LED, tienes 16 pines para las filas y 16 pines para las columnas. Para ver cómo se construye su matriz específica, tendrá que encontrar su hoja de datos.

Para escribir cualquier cosa en la pantalla, configurará la primera fila en ON, todas las demás en OFF y activará los cols que necesite. Después de un retraso, establecerá la primera fila en OFF, la segunda fila en ON y activará los cols que desea ver en la segunda fila. Recorrerás todas las filas como esta. Como la demora será bastante breve, sus ojos no son lo suficientemente rápidos para ver que los LED están apagados la mayor parte del tiempo.

Yo sugeriría usar una interrupción de temporizador en tu microcontrolador e iterar a través de las filas en la rutina de interrupción. De esa manera, puede utilizar fácilmente el microcontrolador para otras cosas sin preocuparse demasiado por los problemas de tiempo.

3
agregado

¿Cómo puedes identificar el Pin 1 de la matriz de puntos?

El pin más a la izquierda de la matriz de puntos en el sitio opuesto a la etiqueta "2088BH-B" es el pin 1.

Puede obtener una idea completa de las dos imágenes siguientes. ingrese la descripción de la imagen aquí

enter image description here

Espero que esto te ayude mucho. También puede probar el siguiente código que está escrito para mostrar 9 en matriz de puntos (compilador: micro-C)

void main() 
{
     DDRB = 0b11111111;
     DDRC = 0b11111111;
     while(1)
     {
           PORTB=0b00000000; //1
           PORTC=0b10000000;
            Delay_us(5);

           PORTB=0b00000000;       //2
           PORTC=0b01000000;
            Delay_us(5);

           PORTB=0b00000000;          //3
           PORTC=0b00100000;
            Delay_us(5);

           PORTB=0b00000000;             //4
           PORTC=0b00010000;
            Delay_us(5);

           PORTB=0b10011110; //5
           PORTC=0b00001000;
            Delay_us(5);

           PORTB=0b10010010;       //6
           PORTC=0b00000100;
            Delay_us(5);

           PORTB=0b10010010;          //7
           PORTC=0b00000010;
           Delay_us(5);

           PORTB=0b11111110;             //8
           PORTC=0b00000001;
           Delay_us(5);

     }
}
0
agregado

¿Cómo puedes identificar el Pin 1 de la matriz de puntos?

El pin más a la izquierda de la matriz de puntos en el sitio opuesto a la etiqueta "2088BH-B" es el pin 1.

Puede obtener una idea completa de las dos imágenes siguientes. ingrese la descripción de la imagen aquí

enter image description here

Espero que esto te ayude mucho. También puede probar el siguiente código que está escrito para mostrar 9 en matriz de puntos (compilador: micro-C)

void main() 
{
     DDRB = 0b11111111;
     DDRC = 0b11111111;
     while(1)
     {
           PORTB=0b00000000; //1
           PORTC=0b10000000;
            Delay_us(5);

           PORTB=0b00000000;       //2
           PORTC=0b01000000;
            Delay_us(5);

           PORTB=0b00000000;          //3
           PORTC=0b00100000;
            Delay_us(5);

           PORTB=0b00000000;             //4
           PORTC=0b00010000;
            Delay_us(5);

           PORTB=0b10011110; //5
           PORTC=0b00001000;
            Delay_us(5);

           PORTB=0b10010010;       //6
           PORTC=0b00000100;
            Delay_us(5);

           PORTB=0b10010010;          //7
           PORTC=0b00000010;
           Delay_us(5);

           PORTB=0b11111110;             //8
           PORTC=0b00000001;
           Delay_us(5);

     }
}
0
agregado

¿Cómo puedes identificar el Pin 1 de la matriz de puntos?

El pin más a la izquierda de la matriz de puntos en el sitio opuesto a la etiqueta "2088BH-B" es el pin 1.

Puede obtener una idea completa de las dos imágenes siguientes. ingrese la descripción de la imagen aquí

enter image description here

Espero que esto te ayude mucho. También puede probar el siguiente código que está escrito para mostrar 9 en matriz de puntos (compilador: micro-C)

void main() 
{
     DDRB = 0b11111111;
     DDRC = 0b11111111;
     while(1)
     {
           PORTB=0b00000000; //1
           PORTC=0b10000000;
            Delay_us(5);

           PORTB=0b00000000;       //2
           PORTC=0b01000000;
            Delay_us(5);

           PORTB=0b00000000;          //3
           PORTC=0b00100000;
            Delay_us(5);

           PORTB=0b00000000;             //4
           PORTC=0b00010000;
            Delay_us(5);

           PORTB=0b10011110; //5
           PORTC=0b00001000;
            Delay_us(5);

           PORTB=0b10010010;       //6
           PORTC=0b00000100;
            Delay_us(5);

           PORTB=0b10010010;          //7
           PORTC=0b00000010;
           Delay_us(5);

           PORTB=0b11111110;             //8
           PORTC=0b00000001;
           Delay_us(5);

     }
}
0
agregado