Seu Curso

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size

Construindo e controlando uma matriz de LEDs

Imprimir
Avaliação do Usuário: / 18
PiorMelhor 

 

 

Uma matriz de LED são LEDs dispostos em forma de matriz e controlados de forma análoga a uma matriz.

 

Pode parecer uma explicação um pouco vaga e simplista e é. O importante é conhecer e entender o conceito de matrizes que traz algumas vantagens e possibilidades de construir coisas interessantes.

 

Viajando um pouco, já pensou como são construídos aqueles outdoors de LEDs que funcionam como se fossem TVs gigantes (jumbo)? Então, tirando toda a eletrônica e tecnologia na formação e recepção de imagens aquilo é uma grande matriz de LED. Logicamente construída com LED RGB ou com três LEDs para cada pixel.

 

A proposta aqui é montar uma matriz simples, usando apenas uma cor e tipo de LED. Claro, tudo controlado por um Arduino.

 

Você precisará de LED, tanto quantos forem necessários para a matriz que desejar construir. Por exemplo, para uma matriz 2x2, você terá que usar 4 LEDs, para uma matriz 3x3 serão necessários 9 LEDs, para uma 4x4 serão 16.

 

Mas em contraste com a quantidade de LEDs necessários é a quantidade de pinos necessários para exercer controle sobre eles, veja: para uma matriz 2x2 são necessários 4 pinos (1 para cada LED), em uma matriz 3x3 são necessários 6 pinos apenas (ao todo são 9 LEDs), já para uma matriz 4x4 com 16 LEDs são necessários 8 pinos (metade!). E assim por diante. A conclusão é que quanto maior a matriz mais vantajoso será a "economia" de pinos do Arduino.

Você precisará de resistores de 330 ohms, um para cada linha (ou coluna) da sua matriz, por exemplo, para uma matriz 2x2, você precisará de 2 resistores, para matrizes 3x3 você precisará de 3, e assim por diante.

 

Fora isso ferro de solda, estanho, placa de contatos (prot-o-board) e fios para as ligações.

 

Vamos começar com uma matriz de 2x2, ou seja, 4 LEDs.

 

Primeiro identifique os terminais do LED:

 

 

 

 

O terminal mais longo é o positivo (+) e o mais curto o negativo (-). Guarde bem isso, será importante na hora da soldagem.

 

Para dispor os LEDs em forma de matriz teremos que manipular os terminais do LED e depois soldá-los, positivo com os positivos e negativo com os negativos. Marque os terminais dos seus LEDs para não confundir.

 

 

 

 

 

 

Solde os terminais de mesma polaridade, primeiro em um par de LEDs:

 

 

 

 

Depois no outro par:

 

 

 

 

Agora una os pares através do outro terminal:

 

 

 

 

Teremos assim nossos LEDs dispostos em formato de matriz:

 

 

 

 

Agora precisamos soldar os resistores aos terminais dos LEDs, normalmente os positivos:

 

 

 

 

Verifique todas as soldas e certifique-se de que os terminais não estão em curto, ou seja, os terminais positivos e negativos estão encostando um no outro.

 

Ligue a matriz de LED na placa de contatos (prot-o-board):

 

 

 

 

Agora ligue os terminais negativos do LED os pinos digitais 02 e 03 do Arduino e os terminais positivos aos pinos 04 e 05. Essa ligação que nos dará a noção de linhas e colunas da matriz. Veja e imagem abaixo, os pinos 02 e 03 são as colunas e os pinos 04 e 05 as linhas da minha matriz:

 

 

 

 

Com o código abaixo teremos todos os LEDs acessos:

 

void setup() {
  pinMode(2,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
}
 
void loop() {
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(4,HIGH);
  digitalWrite(5,HIGH);
}

 

Note que o conjunto dos pinos 2/4, 2/5 controlam uma coluna da matriz e o conjunto dos pinos 3/4 e 3/5 controlam a outra coluna. Dessa forma podemos combinar esses conjuntos e acender qualquer um dos 4 LEDs da matriz.

 

O código abaixo acende um LED por vez e foi escrito para mostrar isso de forma bem simples:

 

void setup() {
  pinMode(2,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
}
 
void loop() {
  digitalWrite(2,HIGH);
  digitalWrite(3,LOW);
  digitalWrite(4,HIGH);
  digitalWrite(5,LOW);
  delay(1000);
  digitalWrite(2,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(4,HIGH);
  digitalWrite(5,LOW);
  delay(1000);
  digitalWrite(2,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(4,LOW);
  digitalWrite(5,HIGH);
  delay(1000);
  digitalWrite(2,HIGH);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
  digitalWrite(5,HIGH);
  delay(1000);
}

 

Funcionando:

 

 

 

Seguindo o mesmo princípio fica fácil aumentar a matriz para, por exemplo, 3x3:

 

 

 

 

Ligada a placa de contatos (prot-o-board):

 

 

 

 

Conectada ao Arduino:

 

 

 

 

O código:

 

void setup() {
  pinMode(2,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(7,OUTPUT);
}
 
void loop() {
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,HIGH);
  delay(1000);
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
  digitalWrite(5,LOW);
  digitalWrite(6,HIGH);
  digitalWrite(7,LOW);
  delay(1000);
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
  digitalWrite(5,HIGH);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  delay(1000);
}

 

Funcionando:

 

 

 

Comentários  

 
+2 #3 cursowilson albuquerque 14-09-2015 19:53
Amigo pretendo aprende a fabrica uma matrix.mas sou leigo no assunto procuro um curso para mim comessa .voce pode mim ajuda? Desde ja agradeco
Citar
 
 
+3 #2 Usando uma matriz de leds para exibir dadosKleber Nery de Almeida 01-07-2013 16:39
Desejando utilizar uma matriz 8x8 - não para mostrar texto já definido no código - mais dados de leitura de um sensor de temperatura, qual seria o conceito?
Citar
 
 
+3 #1 ParabénsMarcelo Honorio 10-02-2013 21:44
Parabéns, muito bom, show de bola... vou tentar monta uma dessa com 8 x 8, valeu !!!
Citar
 

Adicionar comentário


Código de segurança
Atualizar

You are here: