Como Usar Uma Placa LED Matrix 8x8- Arduino

by Miguel2330 in Circuits > Arduino

770 Views, 2 Favorites, 0 Comments

Como Usar Uma Placa LED Matrix 8x8- Arduino

20210609_231825.jpg
20210609_231626.jpg

Neste tutorial vamos abordar como conectar e usar uma placa LED Matrix 8x8, usando uma placa Arduino. A LED Matrix é um componente bastante interessante que permite que o utilizador utilize filas e colunas de leds programáveis para representar qualquer tipo de formato, desde texto animado, até a uma simples figura estática.

Supplies

1x Placa Arduino UNO (R3)

2x Breadboard (devido ao tamanho da placa LED)~

1x Placa LED Matrix 8x8

16x Cabos de ligação

Step 1: Entender a Placa

1-3.png
20210609_231850.jpg

Geralmente, existem dois tipos de placas - negativo comum e positivo comum.

Os pinos são distribuídos nas duas extremidades da placa. Os pinos numa extremidade (geralmente o lado da etiqueta) vão do 1 ao 8 da esquerda para a direita, enquanto no oposto vai do 9 ao 16 da direita para a esquerda.

Para ambos os tipos de placa, as colunas de Leds são controladas pelos pinos 13, 3, 4, 10, 6, 11, 15 e 16 e as linhas pelos pinos 9, 14, 8, 12, 1, 7, 2 e 5.

Então se por exemplo quisermos ligar o Led superior esquerdo, temos de definir o pino 9 como HIGH e o pino 13 como LOW placa;

Step 2: Ligar a Placa LED Ao Arduino

Untitled Sketch 2_bb.jpg
Captura de ecrã 2021-06-10 002248.jpg
20210609_235419.jpg
20210609_231713.jpg
20210609_231703.jpg

Seguindo o esquema apresentado e compreendendo a tabela, ligue a a Matrix à placa Arduino usando os cabos.

Cuidados: a orientação da placa Matrix é muito importante coloque a parte com a inscrição do modelo para baixo e siga a imagem. Um concelho é associar que os pinos analógicos estão ligados à parte com a inscrição.

Step 3: Código

20210609_231642.jpg
20210609_231651.jpg

No código vamos programar a placa para acender em especifico os leds que queremos para formar uma figura. Usamos uma expressão para definir a figura.

Neste link podes construir a tua própria figura e é só colar a expressão gerada no código: https://rodrigosc.github.io/ArduinoLedMatrix/char_...

Código:

byte character[8]={0x0, 0x24, 0x24, 0x24, 0x0, 0x42, 0x3c, 0x0};

uint8_t rowPins[8]={2,7,A5,5,13,A4,12,A2}; //array para os pinos que definem as colunas

uint8_t colPins[8]={ 6,11,10,3,A3,4,8,9}; //array para os pinos que definem as colunas

int pinoSensor = A0;

int valorSensor;

void setup() {

// Mudar tudo para LOW

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

pinMode(colPins[i],OUTPUT);

pinMode(rowPins[i],OUTPUT);

}

pinMode(pinoSensor, INPUT);

Serial.begin(9600);

}

void loop() {

for(int row=0; row<8; row++) { // iterar cada linha

for(int k=0; k<8; k++) digitalWrite(colPins[k],HIGH); // Limpar as colunas

digitalWrite(rowPins[row], HIGH); // preparar para escrever as linhas

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

digitalWrite(colPins[7-col], character[row] & 1 << col ? LOW : HIGH); //escrever as colunas

}

delay(1); //delay é muito importante para que os leds sejam apresentados num espaço de tempo mínimo caso contrario seria possível ver cada linha a formar-se individualmente

digitalWrite(rowPins[row],LOW);

}

}