Olá pessoal, criei um array mult dimensional como pode ser vista abaixo para economizar mais memoria do Ardiuno. O problema é que não estou sabendo extrair os valores.

Em anexo tem o código pronto, porem como usei muitos arrays estourei a memoria do meu Arduino.

Alguem poderia me ajudar?

Estou usando o CI 74hc595 em cascata para manipular 16 displays de sete segmentos.

Com o codigo em anexo só consigo manipular 2 displays.

Eu já tentei com Matriz de duas dimensões, mas parece que o procedimento é o mesmo que de arrays.

Essa mascara de mult arrays represnta a linha de displays que eu quero comandar(dispay 1...display 4) 

int *DisplayLinha[44] [24]=
{ {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},//1
{0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1},//2
{0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0},//3
{0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0},//4
{0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0},//5
{0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,1},//6
{0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0},//7
{0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1},//8
{0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0},//9
{0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,1},//0
{0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},//d
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},//1
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1},//2
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0},//3
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0},//4
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0},//5
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,1},//6
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0},//7
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1},//8
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0},//9
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,1},//0
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},//d
{0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},//1
{0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1},//2
{0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0},//3
{0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0},//4
{0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0},//5
{0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,1},//6
{0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0},//7
{0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1},//8
{0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0},//9
{0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,1},//0
{0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},//d
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},//1
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1},//2
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0},//3
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0},//4
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0},//5
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,1},//6
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0},//7
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1},//8
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0},//9
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,1},//0
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0}};//d

código pronto - dá estouro na memoria!
int D1um[] = {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0};//1
int D1dois[] = {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1};//2
int D1tres[] = {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0};//3
int D1quatro[] = {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0};//4
int D1cinco[] = {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0};//5
int D1seis[] = {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,1};//6
int D1sete[] = {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0};//7
int D1oito[] = {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1};//8
int D1nove[] = {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0};//9
int D1zero[] = {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,1};//0
int D1dig[] = {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0};//d

// D A,F,G,B,C,d,E D A,F,G,B,C,d,E
int D2um[] = {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0};//1
int D2dois[] = {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1};//2
int D2tres[] = {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0};//3
int D2quatro[] = {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0};//4
int D2cinco[] = {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0};//5
int D2seis[] = {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,1};//6
int D2sete[] = {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0};//7
int D2oito[] = {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1};//8
int D2nove[] = {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0};//9
int D2zero[] = {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,1};//0
int D2dig[] = {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0};//d

// D A,F,G,B,C,d,E D A,F,G,B,C,d,E
/*int D3um[] = {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0};//1
int D3dois[] = {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1};//2
int D3tres[] = {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0};//3
int D3quatro[] = {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0};//4
int D3cinco[] = {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0};//5
int D3seis[] = {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,1};//6
int D3sete[] = {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0};//7
int D3oito[] = {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1};//8
int D3nove[] = {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0};//9
int D3zero[] = {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,1};//0
int D3dig[] = {0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0};//d


int D4um[] = {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0};//1
int D4dois[] = {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1};//2
int D4tres[] = {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0};//3
int D4quatro[] = {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0};//4
int D4cinco[] = {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0};//5
int D4seis[] = {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,1};//6
int D4sete[] = {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0};//7
int D4oito[] = {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1};//8
int D4nove[] = {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0};//9
int D4zero[] = {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,1};//0
int D4dig[] = {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0};//d
//array dos numeros*/
int *number[] = {D1dig,D1zero,D1um,D1dois,D1tres,D1quatro,D1cinco,D1seis,D1sete,D1oito,D1nove,
D2dig,D2zero,D2um,D2dois,D2tres,D2quatro,D2cinco,D2seis,D2sete,D2oito,D2nove};
/*D3dig,D3zero,D3um,D3dois,D3tres,D3quatro,D3cinco,D3seis,D3sete,D3oito,D3nove,
D4dig,D4zero,D4um,D4dois,D4tres,D4quatro,D4cinco,D4seis,D4sete,D4oito,D4nove};*/

//Define os pinos de saida
int SER = 8;
int RCLK = 11;
int SRCLK = 12;

int counter = 0;

void changeValues(int *val[]){
for (int j=0;j<22;j++){
for(int i=23; i > -1; i--){
//SRCLK deslocamento
digitalWrite(SRCLK, LOW);
//HIGH logo apos deslocar, setar o clock
digitalWrite(RCLK, HIGH);
int PIN = val[j][i];
//pino a deslocar
digitalWrite(SER, PIN);
//HIGH para ativar
digitalWrite(SRCLK, HIGH);
}
digitalWrite(RCLK, LOW);
delay(500);
}
}

void setup(){
//configurando pinos como saida
pinMode(SER,OUTPUT);
pinMode(RCLK,OUTPUT);
pinMode(SRCLK,OUTPUT);
}

void loop(){
changeValues(number);
counter += 1;
if (counter >7){counter =0;}
}

Exibições: 565

Anexos

Responder esta

Respostas a este tópico

 

Olá José.

Pelo que vejo realmente você acabou utilizando muitas constantes com estas tabelas, e isso realmente consome recursos, ainda mais usando as bibliotecas do Arduino.

Quando trabalhamos com display de 7 segmentos, podemos simplificar muito as coisas. Vou tentar ajudar neste conceito.

Explicando para quem ler este post, a tabela de constantes serve para criar "símbolos" que irão representar os números do nosso código no display. Ou seja, pensando no número 1 por exemplo, para representá-lo no display precisamos acionar 2 segmentos.

Observem a figura:

Pela figura vemos que o símbolo que precisamos para representar o número 1 tem o acionamento dos segmentos "b" e "c".

Como cada display possui 8 entradas (bits), podemos fazer uma tabela para cada símbolo que representa os números de 0 à 9. (Sendo possível extender a tabela para outros símbolos como: sinal negativo, sinal de mais, letras, etc.)

Para simplificar, faremos uma tabela indo dos símbolos de 0 à 9 usando 8 bits para cada.

Então teremos:

Assim, criamos a seguinte tabela no código:

1) Como sabemos que vamos utilizar 8 bits, vamos criar uma estrutura para os 8 bits.

struct simbolos{

    int segmento[8];

};

2) Tendo a estrutura que terá os 8 bits, vamos criar a tabela preenchendo cada segmento com seu respectivo valor.

    Os segmentos são cada bit desta tabela. E o "h" representa o ponto.

Então temos:

struct simbolos tabela[] = {

//a,b,c,d,e,f,g,h

{1,1,1,1,1,1,1,0}, // 0

{0,1,1,0,0,0,0,0}, // 1

{1,1,0,1,1,0,1,0}, // 2

{1,1,1,1,0,0,1,0}, // 3

{0,1,1,0,0,1,1,0}, // 4

{1,0,1,1,0,1,1,0}, // 5

{0,0,1,1,1,1,1,0}, // 6

{1,1,1,0,0,1,1,0}  // 7

};

Observando a tabela que você fez indo de 1 à 9..0 , perceba que para "todos" os displays existe praticamente a mesma tabela. Então, não se faz necessário que seja criada uma tabela para cada display, apenas que você carregue "n vezes" a mesma tabela de modo à preencher todos os displays.

Tendo a tabela em mãos, você precisa percorrer todos os bits e jogá-los na saída.

Para isto serveria usar:

for(int i=0;i<8;i++){

    digitalWrite(PinoData, tabela[valor_display].segmento[i]);

}

Isso já geraria todos os pulsos "de dados" para "1" display.

Pensando que teremos 16 displays, e que cada um terá 1 valor, podemos fazer algo como:

int valor_display[16] ;

 

E para preencher os valores "de exemplo".

int valor = 0;

for(int j=0;j<9;j++){
   if(valor>9){valor=0;} // reset para do 9 voltar a zero

   valor_display[j] = valor++;

}

 Então percorremos todos os valores de todos os displays. Como não sei qual à ordem que colocou no seu esquema elétrico, pois o display das unidades poderia ir no último 74595 ou no primeiro, vou assumir que ele seja o primeiro, então farei a "carga" dos bits na ordem.

for(int k=0;k<16;k++) // esse for para varrer os 16 displays

    for(int i=0;i<8;i++){ // esse for para varrer todos os bits de 1 display

       digitalWrite(PinoData, tabela[valor_display[k]].segmento[i]);

    }

}


E assim temos os 16 displays percorridos.  =)

Achei estranho você ter dito 16 e depois que iria comandar apenas 4 displays. Imagino que acima de 4 você estivesse tendo problemas com o espaço de código.

Perceba que faltam duas coisas para concluir este algoritmo:

1) Função de controle do 74595, para controlar os pinos de clock e de controle serial/paralelo do CI.

2) Função para incrementar/decrementar/carregar os valores dos 16 displays, que irão trabalhar diretamente com o array "valor_display[]".

Fora isto, é possível simplificar ainda mais a tabela para apenas 9 valores inteiros caso use números em hexadecimal.

Fica como exercício. ^^

Espero ter ajudado.

T++.

Olá Daniel, obrigado por suas explicações.

Eu realmente tenho 16 displays, porem fis para testar quatro apenas.

abaixo segue o link de um vídeo só para você vê.

a minha ideia é controlar esses 16 displays individualmente através de um controle remoto

https://www.dropbox.com/s/miagirtp5pxaw9q/20141120_222121.mp4?dl=0.

Vou tentar reproduzir em cima de suas explicações, obrigado!

Só corrigindo, falei de arrays como se fosse diferente de vetor e matriz, onde na realidade vetores e matrizes são a mesma coisas(Arrays).

Só não entendi como envio essa sequencia(0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0) para acender o display 1 (de número um)

Na realidade eu quero gerar essas saídas do primeiro ao terceiro CI (3 CIs)

int *ValorDisplay[176] [24]=
// 05,04,03,02,01,08,07,06,13,12,11,10,16,15,09,14, D,A,F,G,B,C,d,E
{ {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,1,1,0,0},//1 DISPLAY 1
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,0,0,1},//2 DISPLAY 1
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,1,0,0},//3 DISPLAY 1
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,1,1,1,1,0,0},//4 DISPLAY 1
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,0},//5 DISPLAY 1
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,1},//6 DISPLAY 1
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1,0,0,1,1,0,0},//7 DISPLAY 1
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,1},//8 DISPLAY 1
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,0},//9 DISPLAY 1
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,0,1,1,0,1},//0 DISPLAY 1
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,1,0},//d DISPLAY 1
{0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,1,1,0,0},//1 DISPLAY 2
{0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,0,0,1},//2 DISPLAY 2
{0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,1,0,0},//3 DISPLAY 2
{0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,1,1,1,1,0,0},//4 DISPLAY 2
{0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,0},//5 DISPLAY 2
{0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,1},//6 DISPLAY 2
{0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1,0,0,1,1,0,0},//7 DISPLAY 2
{0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,1},//8 DISPLAY 2
{0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,0},//9 DISPLAY 2
{0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,0,1,1,0,1},//0 DISPLAY 2
{0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,1,0},//d DISPLAY 2
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,1,1,0,0},//1 DISPLAY 3
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,0,0,1},//2 DISPLAY 3
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,1,0,0},//3 DISPLAY 3
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,1,1,1,1,0,0},//4 DISPLAY 3
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,0},//5 DISPLAY 3
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,1},//6 DISPLAY 3
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1,0,0,1,1,0,0},//7 DISPLAY 3
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,1},//8 DISPLAY 3
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,0},//9 DISPLAY 3
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,0,1,1,0,1},//0 DISPLAY 3
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,1,0},//d DISPLAY 3
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,1,1,0,0},//1 DISPLAY 4
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,0,0,1},//2 DISPLAY 4
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,1,0,0},//3 DISPLAY 4
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,1,1,1,1,0,0},//4 DISPLAY 4
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,0},//5 DISPLAY 4
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,1},//6 DISPLAY 4
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1,0,0,1,1,0,0},//7 DISPLAY 4
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,1},//8 DISPLAY 4
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,0},//9 DISPLAY 4
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,0,1,1,0,1},//0 DISPLAY 4
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,1,0},//d DISPLAY 4

// 05,04,03,02,01,08,07,06,13,12,11,10,16,15,09,14, D,A,F,G,B,C,d,E
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,1,1,0,0},//1 DISPLAY 5
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,0,0,1},//2 DISPLAY 5
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,1,0,0},//3 DISPLAY 5
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,1,1,1,1,0,0},//4 DISPLAY 5
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,0},//5 DISPLAY 5
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,1},//6 DISPLAY 5
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1,0,0,1,1,0,0},//7 DISPLAY 5
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,1},//8 DISPLAY 5
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,0},//9 DISPLAY 5
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,0,1,1,0,1},//0 DISPLAY 5
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,1,0},//d DISPLAY 5
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,1,1,0,0},//1 DISPLAY 6
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,0,0,1},//2 DISPLAY 6
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,1,0,0},//3 DISPLAY 6
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,1,1,1,1,0,0},//4 DISPLAY 6
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,0},//5 DISPLAY 6
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,1},//6 DISPLAY 6
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,1,0,0,1,1,0,0},//7 DISPLAY 6
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,1},//8 DISPLAY 6
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,0},//9 DISPLAY 6
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,0,1,1,0,1},//0 DISPLAY 6
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,1,0},//d DISPLAY 6
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,1,1,0,0},//1 DISPLAY 7
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,0,0,1},//2 DISPLAY 7
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,1,0,0},//3 DISPLAY 7
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,1,1,1,1,0,0},//4 DISPLAY 7
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,0},//5 DISPLAY 7
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,1},//6 DISPLAY 7
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1,0,0,1,1,0,0},//7 DISPLAY 7
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,1},//8 DISPLAY 7
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,0},//9 DISPLAY 7
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,0,1,1,0,1},//0 DISPLAY 7
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,1,0},//d DISPLAY 7
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,1,1,0,0},//1 DISPLAY 8
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,0,0,1},//2 DISPLAY 8
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,1,0,0},//3 DISPLAY 8
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,1,1,1,1,0,0},//4 DISPLAY 8
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,0},//5 DISPLAY 8
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,1},//6 DISPLAY 8
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1,0,0,1,1,0,0},//7 DISPLAY 8
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,1},//8 DISPLAY 8
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,0},//9 DISPLAY 8
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,1,1,0,1,1,0,1},//0 DISPLAY 8
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,1,0},//d DISPLAY 8

// 05,04,03,02,01,08,07,06,13,12,11,10,16,15,09,14, D,A,F,G,B,C,d,E
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,0,0,0,1,1,0,0},//1 DISPLAY 9
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,1,0,1,1,0,0,1},//2 DISPLAY 9
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,1,0,1,1,1,0,0},//3 DISPLAY 9
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,0,1,1,1,1,0,0},//4 DISPLAY 9
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,1,1,1,0,1,0,0},//5 DISPLAY 9
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,1,1,1,0,1,0,1},//6 DISPLAY 9
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,1,0,0,1,1,0,0},//7 DISPLAY 9
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,1,1,1,1,1,0,1},//8 DISPLAY 9
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,1,1,1,1,1,0,0},//9 DISPLAY 9
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,1,1,0,1,1,0,1},//0 DISPLAY 9
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,0,0,0,0,0,1,0},//d DISPLAY 9
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,0,0,0,1,1,0,0},//1 DISPLAY 10
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,1,0,1,1,0,0,1},//2 DISPLAY 10
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,1,0,1,1,1,0,0},//3 DISPLAY 10
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,0,1,1,1,1,0,0},//4 DISPLAY 10
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,1,1,1,0,1,0,0},//5 DISPLAY 10
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,1,1,1,0,1,0,1},//6 DISPLAY 10
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,1,0,0,1,1,0,0},//7 DISPLAY 10
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,1,1,1,1,1,0,1},//8 DISPLAY 10
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,1,1,1,1,1,0,0},//9 DISPLAY 10
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,1,1,0,1,1,0,1},//0 DISPLAY 10
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,0,0,0,0,0,1,0},//d DISPLAY 10
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,0,0,1,1,0,0},//1 DISPLAY 11
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,1,0,1,1,0,0,1},//2 DISPLAY 11
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,1,0,1,1,1,0,0},//3 DISPLAY 11
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,1,1,1,1,0,0},//4 DISPLAY 11
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,0},//5 DISPLAY 11
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,1},//6 DISPLAY 11
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,1,0,0,1,1,0,0},//7 DISPLAY 11
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,1},//8 DISPLAY 11
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,0},//9 DISPLAY 11
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,1,1,0,1,1,0,1},//0 DISPLAY 11
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,0,0,0,0,0,1,0},//d DISPLAY 11
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,0,0,0,1,1,0,0},//1 DISPLAY 12
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,0,0,1},//2 DISPLAY 12
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,1,0,0},//3 DISPLAY 12
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,0,1,1,1,1,0,0},//4 DISPLAY 12
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,0},//5 DISPLAY 12
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,1},//6 DISPLAY 12
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,1,0,0,1,1,0,0},//7 DISPLAY 12
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,1},//8 DISPLAY 12
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,0},//9 DISPLAY 12
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,1,1,0,1,1,0,1},//0 DISPLAY 12
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,1,0},//d DISPLAY 12

// 05,04,03,02,01,08,07,06,13,12,11,10,16,15,09,14, D,A,F,G,B,C,d,E
{0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,1,1,0,0},//1 DISPLAY 13
{0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,0,0,1},//2 DISPLAY 13
{0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,1,0,1,1,1,0,0},//3 DISPLAY 13
{0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,0,1,1,1,1,0,0},//4 DISPLAY 13
{0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,0},//5 DISPLAY 13
{0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,0,1,0,1},//6 DISPLAY 13
{0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,1,0,0,1,1,0,0},//7 DISPLAY 13
{0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,1},//8 DISPLAY 13
{0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,1,1,1,1,1,0,0},//9 DISPLAY 13
{0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,1,1,0,1,1,0,1},//0 DISPLAY 13
{0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,1,0},//d DISPLAY 13
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,0,0,0,1,1,0,0},//1 DISPLAY 14
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,1,0,1,1,0,0,1},//2 DISPLAY 14
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,1,0,1,1,1,0,0},//3 DISPLAY 14
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,0,1,1,1,1,0,0},//4 DISPLAY 14
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,1,1,1,0,1,0,0},//5 DISPLAY 14
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,1,1,1,0,1,0,1},//6 DISPLAY 14
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,1,0,0,1,1,0,0},//7 DISPLAY 14
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,1,1,1,1,1,0,1},//8 DISPLAY 14
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,1,1,1,1,1,0,0},//9 DISPLAY 14
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,1,1,0,1,1,0,1},//0 DISPLAY 14
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,0,0,0,0,0,1,0},//d DISPLAY 14
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,0,0,0,1,1,0,0},//1 DISPLAY 15
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,1,0,1,1,0,0,1},//2 DISPLAY 15
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,1,0,1,1,1,0,0},//3 DISPLAY 15
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,0,1,1,1,1,0,0},//4 DISPLAY 15
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,1,1,1,0,1,0,0},//5 DISPLAY 15
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,1,1,1,0,1,0,1},//6 DISPLAY 15
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,1,0,0,1,1,0,0},//7 DISPLAY 15
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,1,1,1,1,1,0,1},//8 DISPLAY 15
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,1,1,1,1,1,0,0},//9 DISPLAY 15
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,1,1,0,1,1,0,1},//0 DISPLAY 15
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,0,0,0,0,0,1,0},//d DISPLAY 15
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,0,0,0,1,1,0,0},//1 DISPLAY 16
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,1,0,1,1,0,0,1},//2 DISPLAY 16
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,1,0,1,1,1,0,0},//3 DISPLAY 16
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,0,1,1,1,1,0,0},//4 DISPLAY 16
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,1,1,1,0,1,0,0},//5 DISPLAY 16
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,1,1,1,0,1,0,1},//6 DISPLAY 16
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,1,0,0,1,1,0,0},//7 DISPLAY 16
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,1,1,1,1,1,0,1},//8 DISPLAY 16
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,1,1,1,1,1,0,0},//9 DISPLAY 16
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,1,1,0,1,1,0,1},//0 DISPLAY 16
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,0,0,0,0,0,1,0}};//d DISPLAY 16

Vc esta usando um int para acumular apenas 1 bit.

O int é um tipo de variável de 16bits.

https://www.youtube.com/watch?v=aUBdMP7xDiY

Acredito que se vc usar byte 

http://arduino.cc/en/Reference/byte

a coisa já melhore.

Mas o ideal seria usar bit mesmo. 

Para isso cada linha sua viraria algo como:

0b000010100101; // o 0b indica binário

Que eventualmente pode até compor uma int, se necessário.

Aih na rotina que joga isso para o pino de dados é preciso fazer um for para ler cada bit. Normalmente é usado o operador ">>" e o teste do ultimo bit (&1).

Mas não entendi... Tudo isso de led vai ser multiplexado com apenas 1 pino serial ???

Normalmente se usa 8 pinos. Um transistor seleciona qual display acionar naquele momento e vai 1 bit para cada segmento. Assim vc escreve direto esse valor 0b000101010101 na porta inteira, e' mais eficiente.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço