Cubo LED 7x7x7
Componentes e suprimentos
| × | 1 | ||||
| × | 7 | ||||
| × | 1 | ||||
| × | 49 | ||||
| × | 1 |
Ferramentas e máquinas necessárias
|
Sobre este projeto
Sempre quis fazer meu próprio cubo de LED, e agora compartilho com vocês o meu projeto.
Etapa 1
A primeira coisa a fazer é criar a matriz de LED.
Neste caso, criei sete matrizes de LED 7x7.
Eu dividi anodos e catodos e os soldou em linhas e colunas, então no final eu tenho 7 anodos e 7 chatodes para cada matriz de led.
Etapa 2
Agora você precisa do hardware necessário para usar o cubo de LED.
Essa é a parte mais difícil se você não conhece bem a eletrônica.
Mas tento explicar essa parte com clareza.
Usei sete 74HC574.
Este IC é um Flip Flop D de 8 bits, é uma memória de 8 bits. Desta forma posso carregar alguns bits neles para ver a imagem no cubo. Preciso de sete 74HC574 porque há sete matrizes de LED.
Também preciso de 7 transistores NPN para decidir qual camada ativa.
Desta forma com a técnica do multiplexer posso visualizar uma imagem em todo cubo.
Finalmente preciso também de um 74LS138, é um desmultiplexador decodificador de 3 a 8 linhas, então com ele posso controlar todos os Flip Flop com apenas 3 bits porque eles também precisam de um pulso para salvar os dados.
Este é o diagrama de blocos do hardware:
Eu mesmo fiz o circuito e usei o ATmega328P autônomo do Arduino.
Você pode ver todo o diagrama de circuito abaixo.
Etapa 3
Você também precisa de uma estrutura para hardware e cubo de LED. Usei alguns pedaços de madeira para fazer isso.
Depois disso você pode montar tudo, cada matriz de LED deve ser colocada na frente da outra e os cátodos de cada camada são conectados ao mesmo transistor.
Etapa 4
Finalmente, você pode escrever o código para fazer o cubo, o diagrama de blocos acima pode ajudá-lo a escrever o código.
Esta parte pode ser muito confusa, mas com um pouco de prática será mais fácil.
O código abaixo representa as animações mais fáceis porque as outras são muito longas, mas com um pouco de fantasia você pode fazer o que quiser.
Código
- Animação
Animação Arduino
// Este código representa a animação mais fácil para LED CUBEint temp =50, cont =0; // Esta função carrega todo o cubevoid load_all (void) {// camada 1 digitalWrite (A2, LOW); digitalWrite (A1, LOW); digitalWrite (A0, LOW); atraso (1); // camada 2 digitalWrite (A2, HIGH); digitalWrite (A1, LOW); digitalWrite (A0, LOW); atraso (1); // camada 3 digitalWrite (A2, LOW); digitalWrite (A1, ALTO); digitalWrite (A0, LOW); atraso (1); // camada 4 digitalWrite (A2, HIGH); digitalWrite (A1, ALTO); digitalWrite (A0, LOW); atraso (1); // camada 5 digitalWrite (A2, LOW); digitalWrite (A1, LOW); digitalWrite (A0, HIGH); atraso (1); // camada 6 digitalWrite (A2, HIGH); digitalWrite (A1, LOW); digitalWrite (A0, HIGH); atraso (1); // camada 7 digitalWrite (A2, LOW); digitalWrite (A1, ALTO); digitalWrite (A0, HIGH); atraso (1); // camada 8 digitalWrite (A2, HIGH); digitalWrite (A1, ALTO); digitalWrite (A0, HIGH); delay (1);} // Esta função ativa cada camada uma vez e você pode decidir o tempo em que a camada ativa-se evita a rolagem (int t) {PORTB =0x00; digitalWrite (7, ALTO); atraso (t); digitalWrite (7, BAIXO); digitalWrite (8, ALTO); atraso (t); digitalWrite (8, BAIXO); digitalWrite (9, ALTO); atraso (t); digitalWrite (9, BAIXO); digitalWrite (10, ALTO); atraso (t); digitalWrite (10, BAIXO); digitalWrite (11, ALTO); atraso (t); digitalWrite (11, BAIXO); digitalWrite (12, ALTO); atraso (t); digitalWrite (12, BAIXO); digitalWrite (13, ALTO); atraso (t); digitalWrite (13, LOW);} // Esta animação ativa uma camada por vez, e aumenta a velocidade dela, então finalmente você vê todos os cubos ativados evitando um (void) {PORTD =0xff; load_all (); enquanto (1) {rolagem (temp); temp =temp - 2; if (temp <=0) {temp =1; cont ++; if (cont ==1000) {cont =0; temp =100; }}}} void setup () {DDRD =0xff; DDRB =0xff; DDRC =0xff;} void loop () {one ();}
Peças personalizadas e gabinetes
gestione_mankWMoVhz.schEsquemas
Eu uso a imagem para a disposição dos componentesProcesso de manufatura