Cubo de LED 7x7x7: Projeto Passo a Passo com Arduino
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| Arduino UNO | 1 |
| CI 74HC574 (Flip-Flop D 8 bits) | 7 |
| CI 74HC138 (Decodificador 3-para-8) | 1 |
| Resistor 220Ω | 49 |
| Cristal 16 MHz | 1 |
| LEDs (cor de sua preferência) | 343 (7×7×7) |
Ferramentas Necessárias
- Ferro de solda
- Alicate de corte e bico
- Multímetro
- Placa de fenolite ou protoboard para a placa de controle
- Madeira ou acrílico para a estrutura
Sobre o Projeto
Sempre quis construir meu próprio cubo de LED e agora compartilho este projeto com vocês.
Passo 1: Matriz de LEDs
O primeiro passo é criar a matriz de LEDs. Neste projeto, construí sete matrizes de 7×7 LEDs.
Dividi ânodos e cátodos e soldei em linhas e colunas, resultando em 7 ânodos e 7 cátodos para cada matriz.
Passo 2: Hardware de Controle
Esta é a parte mais complexa se você não tem boa base em eletrônica, mas explicarei claramente.
- 7 CIs 74HC574: Cada um é um Flip-Flop D de 8 bits (memória de 8 bits). Carrego bits neles para exibir a imagem no cubo. Preciso de sete porque há sete matrizes.
- 7 Transistores NPN: Decidem qual camada (layer) acende.
- 1 CI 74LS138: Decodificador/demultiplexador 3-para-8 linhas. Com ele, controlo todos os Flip-Flops usando apenas 3 bits, pois também precisam de um pulso para gravar os dados.
A técnica de multiplexação permite visualizar uma imagem em todo o cubo.
Diagrama de Blocos do Hardware
O diagrama mostra a interconexão entre Arduino, decodificador, Flip-Flops, transistores e as matrizes de LEDs.
Circuito Impresso
Montei o circuito manualmente usando um ATmega328P standalone (o microcontrolador do Arduino). O esquemático completo está disponível nas imagens.
Passo 3: Estrutura Mecânica
Usei peças de madeira para criar a estrutura. Cada matriz de LED deve ser posicionada uma na frente da outra, e os cátodos de cada camada são conectados ao mesmo transistor.
Passo 4: Programação
Finalmente, escreva o código para animar o cubo. O diagrama de blocos ajuda na lógica.
O código abaixo mostra as animações mais simples; as outras são longas, mas com criatividade você pode criar o que quiser.
Código: Animação Básica
// Animação básica para CUBO DE LED
int temp = 50, cont = 0;
// Carrega todas as camadas
void load_all(void) {
// Camada 1
digitalWrite(A2, LOW); digitalWrite(A1, LOW); digitalWrite(A0, LOW); delay(1);
// Camada 2
digitalWrite(A2, HIGH); digitalWrite(A1, LOW); digitalWrite(A0, LOW); delay(1);
// Camada 3
digitalWrite(A2, LOW); digitalWrite(A1, HIGH); digitalWrite(A0, LOW); delay(1);
// Camada 4
digitalWrite(A2, HIGH); digitalWrite(A1, HIGH); digitalWrite(A0, LOW); delay(1);
// Camada 5
digitalWrite(A2, LOW); digitalWrite(A1, LOW); digitalWrite(A0, HIGH); delay(1);
// Camada 6
digitalWrite(A2, HIGH); digitalWrite(A1, LOW); digitalWrite(A0, HIGH); delay(1);
// Camada 7
digitalWrite(A2, LOW); digitalWrite(A1, HIGH); digitalWrite(A0, HIGH); delay(1);
// Camada 8
digitalWrite(A2, HIGH); digitalWrite(A1, HIGH); digitalWrite(A0, HIGH); delay(1);
}
// Ativa cada camada por um tempo definido
void scrolling(int t) {
PORTB = 0x00;
digitalWrite(7, HIGH); delay(t); digitalWrite(7, LOW);
digitalWrite(8, HIGH); delay(t); digitalWrite(8, LOW);
digitalWrite(9, HIGH); delay(t); digitalWrite(9, LOW);
digitalWrite(10, HIGH); delay(t); digitalWrite(10, LOW);
digitalWrite(11, HIGH); delay(t); digitalWrite(11, LOW);
digitalWrite(12, HIGH); delay(t); digitalWrite(12, LOW);
digitalWrite(13, HIGH); delay(t); digitalWrite(13, LOW);
}
// Animação: acende uma camada por vez e aumenta a velocidade
void one(void) {
PORTD = 0xff;
load_all();
while (1) {
scrolling(temp);
temp = temp - 2;
if (temp <= 0) {
temp = 1;
cont++;
if (cont == 1000) { cont = 0; temp = 100; }
}
}
}
void setup() {
DDRD = 0xff; // Porta D como saída
DDRB = 0xff; // Porta B como saída
DDRC = 0xff; // Porta C como saída
}
void loop() {
one();
}
Arquivos Adicionais
- Arquivo de esquema Eagle:
gestao_mankWMoVhz.sch - Esquemático em imagem
Dicas Importantes
- Teste cada matriz de LED individualmente antes de montar o cubo completo.
- Use soquetes para os CIs para facilitar trocas.
- Organize a fiação com capas de cabo ou fita isolante.
- A paciência na soldagem dos 343 LEDs é essencial — reserve várias horas.
Processo de manufatura
- Cubo de Rubik: Da Invenção ao Quebra-Cabeça Moderno
- Diodos Emissores de Luz: Da Incepção a Vida Útil de 100 Anos
- Construa Seu Próprio Jogo de Roleta com 37 LEDs e Arduino Nano
- Projeto Arduino: Melodia Coffin Dance – Construa e Toque a Música Viral
- Construa um Cubo de LED 5x5x5 Impressionante com Arduino Mega
- Revitalize Controles Remotos Antigos: Crie Dispositivos Inteligentes DIY com Arduino
- Controlar um LED via Bluetooth com Arduino – Guia DIY Simples
- Display de Luz com 8 LEDs Ativado por Som
- Construa um Robô Quadrúpede Inteligente com Arduino: Guia Passo a Passo
- Misturador de Cores RGB com Arduino – Projeto DIY para Iniciantes