Índice:

Como construir um cubo de LED 8x8x8 e controlá-lo com um Arduino: 7 etapas (com fotos)
Como construir um cubo de LED 8x8x8 e controlá-lo com um Arduino: 7 etapas (com fotos)
Anonim
Como construir um cubo de LED 8x8x8 e controlá-lo com um Arduino
Como construir um cubo de LED 8x8x8 e controlá-lo com um Arduino
Como construir um cubo de LED 8x8x8 e controlá-lo com um Arduino
Como construir um cubo de LED 8x8x8 e controlá-lo com um Arduino

Edição de janeiro de 2020:

Estou deixando isso para o caso de alguém querer usá-lo para gerar ideias, mas não adianta mais construir um cubo com base nessas instruções. Os ICs do driver de LED não são mais feitos, e ambos os esboços foram escritos em versões antigas do Arduino e do Processing e não funcionam mais. Não sei o que precisa ser mudado para fazê-los funcionar. Além disso, meu método de construção resultou em uma bagunça torta e desequilibrada. Minha sugestão é seguir as instruções em outro instrutível ou comprar um kit. Este cubo custava cerca de US $ 50 em 2011, você pode comprar um kit no ebay por cerca de US $ 20 agora.

Introdução original:

Existem muitos cubos de LED nos Instructables, então por que fazer outro? A maioria é para cubos pequenos com 27 ou 64 LEDs, raramente maiores, pois são limitados ao número de saídas disponíveis no microcontrolador. Este cubo terá 512 LEDs e precisará apenas de 11 fios de saída do Arduino. Como isso é possível? Usando o driver LED A6276EA da Allegro Microsystems.

Vou mostrar como fiz o próprio cubo, a placa controladora e, finalmente, o código para fazê-lo brilhar.

Etapa 1: Materiais

Materiais
Materiais

Todas as peças que você precisará para construir o cubo: 1 Arduino / Freeduino com Atmega168 ou chip superior 512 LEDs, tamanho e cor são com você, usei chips de driver de LED 4 A6276EA 3mm vermelhos de Allegro 8 transistores NPN para controlar o fluxo de tensão, Usei o transistor Darlington BDX53B 4 resistores de 1000 ohm, 1/4 watt ou mais 12 560 ohm resistores, 1/4 watt ou mais 1 capacitor eletrolítico 330uF 4 soquete IC de 24 pinos 9 soquetes IC de 16 pinos 4 "x4" (ou maior) pedaço de perfboard para segurar todas as peças, Um velho ventilador de computador Um velho cabo controlador de disquete Uma velha fonte de alimentação de computador Um monte de fio de conexão, solda, ferro de solda, fluxo, qualquer outra coisa para tornar sua vida mais fácil enquanto faz isso. Peça de madeira de 7 "x7" (ou maior) usada para fazer o gabarito de solda de LED Uma bela caixa para exibir seu cubo acabado Meu Arduino / Freeduino de escolha é a Bare Bones Board (BBB) de www.moderndevice.com. Os LEDs foram comprados no eBay e custam US $ 23 para 1000 LEDs enviados da China. Os eletrônicos restantes foram adquiridos da Newark Electronics (www.newark.com) e devem custar apenas cerca de US $ 25. Se você tiver que comprar tudo, esse projeto deve custar apenas cerca de US $ 100. Tenho muitos equipamentos de informática antigos, então essas peças saíram do lixo.

Etapa 2: montar as camadas

Monte as camadas
Monte as camadas
Monte as camadas
Monte as camadas
Monte as camadas
Monte as camadas
Monte as camadas
Monte as camadas

Como fazer 1 camada (64 LEDs) deste cubo de 512 LEDs: Os LEDs que comprei tinham 3 mm de diâmetro. Decidi usar pequenos LEDs para reduzir custos e fazer o tamanho final do cubo pequeno o suficiente para sentar na minha mesa ou prateleira sem ocupar completamente a mesa ou prateleira. Desenhei uma grade de 8x8 com aproximadamente 0,6 polegadas entre as linhas. Isso me deu um tamanho de cubo de cerca de 4,25 polegadas de cada lado. Faça furos de 3 mm onde as linhas se encontram para fazer um gabarito que manterá os LEDs conforme você solda cada camada. O A6276EA é um dispositivo de dissipação de corrente. Isso significa que ele fornece um caminho para o aterramento em vez de um caminho para a tensão da fonte. Você precisará construir o cubo na configuração de ânodo comum. A maioria dos cubos são construídos como cátodo comum. O lado longo do LED é geralmente o ânodo, verifique o seu para ter certeza. A primeira coisa que fiz foi testar todos os LEDs. Sim, é um processo longo e enfadonho e você pode pular se quiser. Prefiro gastar meu tempo testando os LEDs do que encontrar um ponto morto no meu cubo depois de montado. Encontrei 1 LED morto em 1000. Nada mal. Corte 11 pedaços de fio sólido e não isolado em 5 polegadas. Coloque 1 LED em cada extremidade de uma linha em seu gabarito e, em seguida, solde o fio em cada ânodo. Agora coloque os 6 LEDs restantes na fileira e solde esses ânodos ao fio. Isso pode ser vertical ou horizontal, não importa, contanto que você faça todas as camadas da mesma maneira. Ao terminar cada linha, corte o excesso de chumbo dos ânodos. Deixei cerca de 1/8 . Repita até terminar todas as 8 linhas. Agora solde 3 pedaços de fio de gancho ao longo das linhas que você acabou de fazer para conectá-los todos em uma única peça. Em seguida, testei a camada anexando 5 volts ao engate a rede do fio através de um resistor e toque no fio terra de cada cátodo. Substitua todos os LEDs que não acendem. Remova com cuidado a camada do gabarito e coloque-a de lado. Se você dobrar os fios, não se preocupe, apenas endireite-os o melhor que puder. É muito fácil de dobrar. Como você pode ver pelas minhas fotos, tive muitos fios tortos. Parabéns, você já terminou 1/8. Faça mais 7 camadas. OPCIONAL: Para soldar as camadas juntas (Etapa 3) mais fácil, enquanto cada camada subsequente ainda está no gabarito, dobre o quarto de polegada superior do cátodo para frente 45 a 90 graus. Isso permitirá que a ponta de prova alcance em torno do LED ao qual está se conectando e tornará a soldagem muito mais fácil. Não faça isso com a sua primeira camada, declararemos que uma é a camada inferior e as ligações precisam ser s direito.

Etapa 3: monte o cubo

Monte o cubo
Monte o cubo
Monte o cubo
Monte o cubo

Como soldar todas as camadas juntas para fazer um cubo: A parte difícil está quase no fim. Agora, coloque cuidadosamente uma camada de volta no gabarito, mas não use muita pressão, queremos removê-la sem dobrá-la. Esta primeira camada é a face superior do cubo. Coloque outra camada em cima da primeira, alinhe os cabos e comece a soldar. Achei mais fácil fazer os cantos primeiro, depois as bordas externas e depois as linhas internas. Continue adicionando camadas até terminar. Se você dobrou previamente as pontas, certifique-se de guardar a camada com pontas retas para o final. É a parte inferior. Eu tinha muito espaço entre cada camada, então não consegui uma forma de cubo. Não é grande coisa, posso viver com isso.

Etapa 4: Construindo a Placa de Controle

Construindo a placa de controle
Construindo a placa de controle
Construindo a placa de controle
Construindo a placa de controle
Construindo a placa de controle
Construindo a placa de controle

Como construir a placa controladora e conectá-la ao seu Arduino: Siga o esquema e construa a placa como você escolher. Coloquei os chips controladores no centro da placa e usei o lado esquerdo para segurar os transistores que controlam a corrente para cada camada do cubo, e usei o lado direito para segurar os conectores que vão dos chips controladores aos cátodos de as colunas de LED. Encontrei uma velha ventoinha de computador de 40 mm com um conector molex fêmea para ligá-la a uma fonte de alimentação de computador. Isso foi perfeito. Uma pequena quantidade de fluxo de ar pelo chip é útil e agora tenho uma maneira fácil de fornecer 5 volts aos chips controladores e ao próprio Arduino. No esquema, RC é o resistor limitador de corrente para todos os LEDs conectados a cada A6276EA. Usei 1000 ohms porque fornece 5 miliamperes ao LED, o suficiente para acendê-lo. Estou usando alto brilho, não LEDs Super Brite, então o consumo de corrente é menor. Se todos os 8 LEDs em uma coluna estiverem acesos ao mesmo tempo, são apenas 40 miliamperes. Cada saída do A6276EA pode lidar com 90 miliamperes, então estou bem dentro do alcance. RL é o resistor conectado à lógica ou aos condutores de sinal. O valor real não é muito importante, contanto que exista e não seja muito grande. Estou usando 560 ohms porque tinha um monte deles disponíveis. Usei um transistor de potência capaz de lidar com até 6 amperes para controlar a corrente que vai para cada camada do cubo. Isso é um exagero para este projeto, já que cada camada do cubo desenhará apenas 320 miliamperes com todos os LEDs acesos. Eu queria espaço para crescer e poderia usar a placa controladora para algo maior mais tarde. Use transistor de qualquer tamanho que se adapte às suas necessidades. O capacitor 330 uF na fonte de tensão está lá para ajudar a suavizar quaisquer pequenas flutuações de tensão. Como estou usando uma fonte de alimentação de computador antigo, isso não é necessário, mas deixei-o para o caso de alguém querer usar um adaptador de parede de 5 volts para alimentar seu cubo. Cada chip controlador A6276EA tem 16 saídas. Eu não tinha nenhum outro conector adequado, então soldei os fios em alguns soquetes de IC de 16 pinos e irei usá-los para conectar a placa controladora ao cubo. Também cortei um soquete IC pela metade e usei-o para conectar os 8 fios que conectam os transistores às camadas do cubo. Cortei cerca de 5 polegadas da extremidade de um velho cabo de disquete para usar como conector do Arduino. O cabo flexível tem 2 fileiras de 20 pinos, a Placa Bones nua tem 18 pinos. Esta é uma forma muito barata (gratuita) de conectar o Arduino à placa. Separei o cabo de fita em grupos de 2 fios, descasquei as pontas e os soldei. Isso permite que você conecte o Arduino em qualquer linha do conector. Siga o esquema e solde o conector no lugar. Não se esqueça de soldar os cabos de 5 volts e terra do conector para fornecer energia ao Arduino. Pretendo usar esta placa controladora para outros projetos, então o design modular funciona bem para mim. Se você quiser fazer a fiação das conexões, tudo bem.

Etapa 5: construir a vitrine

Construir a vitrine
Construir a vitrine
Construir a vitrine
Construir a vitrine
Construir a vitrine
Construir a vitrine
Construir a vitrine
Construir a vitrine

Deixe seu produto final bonito: encontrei este baú de madeira no Hobby Lobby por US $ 4 e achei que seria perfeito, pois tem espaço dentro para segurar todo o arame e tem um visual bonito. Eu manchei esta única mancha vermelha, a mesma que usei na mesa do meu computador para que combinem. Desenhe uma grade no topo do mesmo tamanho que a grade usada para o gabarito de solda (0,6 polegadas entre as linhas). Faça furos para permitir que os condutores passem pelo topo e faça outro furo atrás da grade para os fios de camada / plano (dos transistores na Etapa 4). Aprendi da maneira mais difícil que tentar alinhar 64 derivações para passar por pequenos orifícios é muito difícil. Eu finalmente decidi re-perfurar todos os orifícios um pouco maiores para tornar o processo mais rápido. Acabei usando uma broca 0,2. Agora que o cubo está no topo da tela, dobre os terminais de canto para que o cubo fique no lugar enquanto você conecta os fios. Certifique-se de conectar todos os fios na ordem correta. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 E conecte os fios entre as camadas (rotuladas como 'planos' no esquema) e os transistores. O transistor no pino 6 do Arduino é a camada superior do cubo. Se você errar os fios, é um pouco corrigível dentro do código, mas pode exigir muito trabalho, então tente colocá-los na ordem certa. tudo está construído e pronto para funcionar, vamos pegar um código e testá-lo.

Etapa 6: Código

Código
Código

O código para este cubo é feito de forma diferente da maioria, vou explicar como se adaptar. A maioria dos códigos de cubo usa gravações diretas nas colunas. O código diz que a coluna X precisa ser iluminada, então dê um pouco de energia e pronto. Isso não funciona ao usar chips controladores. Os chips controladores usam 4 fios para se comunicar com o Arduino: SPI-in, Clock, Latch e Enable. Aterrei o pino de habilitação (pino 21) por meio de um resistor (RL) para que a saída esteja sempre habilitada. Nunca usei o Enable, então o tirei do código. SPI-in são os dados de entrada do Arduino, Clock é um sinal de tempo entre os dois enquanto conversam e Latch diz ao controlador que é hora de aceitar novos dados. Cada saída para cada chip é controlada por um número binário de 16 bits. Por exemplo; enviar 1010101010101010 para o controlador faria com que todos os outros LEDs no controlador se acendessem. Seu código precisa passar por tudo o que é necessário para uma exibição e construir esse número binário e, em seguida, enviá-lo para o chip. É mais fácil do que parece. Tecnicamente, é um monte de adição bit a bit, mas sou péssimo em matemática bit a bit, então faço tudo em decimal. Os decimais para os primeiros 16 bits são os seguintes: 1 << 0 == 1 1 << 1 == 2 1 << 2 == 4 1 << 3 == 8 1 << 4 == 16 1 << 5 == 32 1 << 6 == 64 1 << 7 == 128 1 << 8 == 256 1 << 9 == 512 1 << 10 == 1024 1 << 11 == 2048 1 << 12 == 4096 1 << 13 == 8192 1 << 14 == 16384 1 << 15 == 32768Isso significa se você deseja iluminar as saídas 2 e 10, você adiciona os decimais (2 e 512) juntos para obter 514. Envie 514 para o controlador e as saídas 2 e 10 acenderão. Mas temos mais de 16 LEDs, então fica um pouco mais difícil. Precisamos construir informações de exibição para 4 chips. O que é tão fácil quanto construí-lo para 1, basta fazê-lo mais 3 vezes. Eu uso uma matriz de variável global para manter os códigos de controle. É mais fácil assim. Assim que você tiver todos os 4 códigos de exibição prontos para enviar, solte a trava (defina-a para BAIXO) e comece a enviar os códigos. Você precisa enviar o último primeiro. Envie os códigos para o chip 4, depois 3, 2, 1 e, em seguida, defina a trava como HIGH novamente. Como o pino Enable está sempre conectado ao aterramento, a exibição é alterada imediatamente. A maioria dos códigos de cubo que vi no Instructables e na web em geral consiste em um bloco gigante de código definido para executar uma animação predefinida. Isso funciona bem para cubos menores, mas a necessidade de armazenar, ler e enviar 512 bits de binário toda vez que você deseja alterar a exibição ocupa muita memória. O Arduino não conseguia lidar com mais do que alguns quadros. Então, escrevi algumas funções simples para mostrar o cubo em ação que dependem de cálculos em vez de animações predefinidas. Incluí uma pequena animação para mostrar como isso é feito, mas deixarei para você construir seus próprios monitores. Cubo8x8x8.pde é o código do Arduino. Pretendo continuar adicionando funções ao código e atualizarei o programa periodicamente.matrix8x8.pde é um programa em Processing para construir seus próprios monitores. O primeiro número fornecido vai para o padrão1 , o segundo para o padrão2 , etc. A folha de dados do A6276EA está disponível em:

Etapa 7: exiba seu trabalho manual

Mostre o seu trabalho manual
Mostre o seu trabalho manual

Pronto, agora é hora de aproveitar o seu cubo. Como você pode ver, meu cubo saiu um pouco torto. Não estou muito interessado em construir outro, então vou conviver com ele sendo torto. Eu tenho alguns pontos mortos que preciso examinar. Pode ser uma conexão ruim ou eu posso precisar de um novo chip controlador. Espero que este Instructable inspire você a construir seu próprio cubo ou algum outro projeto de LED usando o A6276AE. Poste um link nos comentários, se você criar um. Estou tentando decidir para onde ir a partir daqui. A placa controladora também controlará um cubo RGB 4x4x4, o que é uma possibilidade. Acho que seria legal fazer uma esfera e da forma como tenho o código escrito, não seria muito difícil de fazer.

Recomendado: