Propaganda
Se você se interessou por alguns projetos iniciantes do Arduino, mas está procurando algo um pouco permanente e em um nível totalmente impressionante, o humilde cubo de LED 4 x 4 x 4 é uma escolha natural. A construção é muito mais fácil do que você imagina, e usando uma multiplexação, podemos controlar todos os LEDs diretamente de apenas uma única placa Arduino Uno. É uma ótima prática de solda, e o custo total dos componentes não deve chegar a mais de US $ 40.
Hoje, detalharei detalhadamente o lado da construção e forneço algum software para executar que pareça impressionante e ensine o básico.
Você precisará
- A Arduino. O código fornecido assume um Arduino Uno, mas também pode ser ajustado para um modelo maior.
- 64 LEDs - a escolha exata é com você, mas eu usei esses LEDs azuis de 3 mm superbright (3.2v 30ma) @ £ 2,64 por 50.
- 16 Resistores do valor apropriado para seus LEDs. Para os LEDs acima, 99 pence compraram 100 deles. Usar ledcalc.com - insira 5v para a tensão de alimentação, a tensão dos LEDs (no meu caso 3.2) e a corrente em miliamperes (3.2). O resistor desejado será mostrado na caixa rotulada “Resistor com classificação mais alta mais próximo”, basta procurar esse valor no eBay.
- Alguns fio de artesanato para fortalecer a estrutura básica e para decoração - usei 0.8mm espessura.
- UMA placa de prototipagem de algum tipo para o qual você pode soldar todos os seus bits. Eu usei um que não tinha faixas completas, pois não tenho um cortador de faixas, mas use o que mais lhe convier. Um escudo de prototipagem do Arduino é um pouco pequeno demais, a menos que você realmente aperte seus LEDs juntos.
- Fio componente aleatório - alguns fios de cabo de rede e alguns dos fios de prototipagem de um kit funcionarão bem.
- Clipes de crocodilo ou "mãos amiga" são úteis para manter os bits no lugar.
- Ferro de solda e solda.
- Alguma sucata de madeira.
- Uma broca, com o mesmo tamanho de bit dos seus LEDs.
Nota: os desenhos 3D neste tutorial foram feitos em minutos usando TinkerCAD. Eu segui uma compilação existente detalhada em Instructables pelo usuário forte1994, que você também pode querer ler antes de tentar isso.
Certifique-se de ler todas essas instruções primeiro antes de tentar isso por si mesmo.
O princípio deste projeto
Antes de começar a construção, é importante ter uma visão geral completa de como isso funciona, para que você possa improvisar e identificar erros à medida que avança. Alguns cubos de LED usam um único pino de saída para cada LED - no entanto, em um cubo 4x4x4, seria necessário 64 pinos - que certamente não temos em um Arduino Uno. Uma solução seria usar registros de turno Programação Arduino - Tocando com registradores de turno (também conhecidos como LEDs)Hoje vou tentar ensinar um pouco sobre os registros de turno. Essa é uma parte bastante importante da programação do Arduino, basicamente porque eles expandem o número de saídas que você pode usar, em troca de ... consulte Mais informação , mas isso é desnecessariamente complicado.
Para controlar todos esses LEDs em apenas 20 pinos, usaremos uma técnica chamada multiplexação. Ao dividir o cubo em 4 camadas separadas, precisamos apenas de pinos de controle para 16 LEDs - para acender um LED específico, precisamos ativar a camada e o pino de controle, fornecendo um requisito total de 16 + 4 alfinetes. Cada camada tem um cátodo comum - a parte negativa do circuito - para que todas as pernas negativas sejam unidas e conectadas a um único pino para essa camada.
No ânodo (positivo) lado, cada LED será conectado ao LED correspondente na camada acima e abaixo dele. Essencialmente, temos 16 colunas das pernas positivas e 4 camadas da negativa. Aqui estão algumas visualizações em 3D das conexões para ajudar você a entender:
Construção
Como não usaremos uma estrutura metálica completa para soldar, queremos que todas as pernas dos LEDs se sobreponham cerca de um quarto e dê rigidez à estrutura. Dobre o cátodo dos seus LEDs - o lado com o entalhe plano na cabeça e a perna mais curta - como mostrado no diagrama. (Não importa se você dobra para a esquerda ou para a direita, desde que seja consistente e nunca toque o ânodo)
A primeira parte crítica deste projeto é fazer um gabarito de madeira. Isso manterá uma camada de LEDs enquanto você solda as pernas, portanto, ele precisa ser preciso e não muito solto. Usando a broca do mesmo tamanho dos seus LEDs, meça e faça uma matriz 4 × 4 de equidistante buracos. Lembre-se de que você deseja que cerca de um quarto da perna se sobreponha ao seu vizinho e use uma régua real. Verifique cada orifício para garantir que um LED se encaixe confortavelmente, mas não tão apertado que não seja possível retirá-lo novamente ou você terá problemas ao tentar remover uma camada totalmente soldada.
Solde os cátodos de 4 linhas de LEDs. Cuidado para não queimar os LEDs - você deseja um bom ferro quente e entrar e sair. Aqui estão minhas quatro primeiras linhas concluídas.
Agora, para fortalecer a rigidez da camada, corte e solde dois pedaços retos de arame artesanal em cada extremidade, certificando-se de que eles se conectem a cada linha. Esta é sua primeira camada completa. Deixe todo o excesso de pernas do lado de fora por enquanto.
Agora seria um ótimo momento para testar - basta carregar o aplicativo intermitente padrão do Arduino e, com um resistor conectado, colocar o chão no quadro da camada e pressionar o fio positivo de cada LED.
Espero que todos eles acendam. Caso contrário, verifique se você não perdeu uma junta de solda em algum lugar e, se necessário, substitua o LED.
Remova essa camada do gabarito e repita o processo Mais 3 vezes.
Não se preocupe se a sua solda não for perfeita - desde que não se quebre e a conexão seja sólida, não afetará o produto final. Eu admito, minha solda estava sem esperança, meu gabarito estava desligado e tudo parecia a torre inclinada de Pisa. Ainda assim, tenho orgulho do cubo acabado e, quando os LEDs estiverem acesos, você não estará olhando para as juntas de solda!
Juntando Camadas
Depois de ter 4 camadas concluídas, convém juntar todas as pernas verticais. Achei que essa era a parte mais difícil da compilação e, para ajudar no processo, cortei um riser do cartão.
Isso manteve as camadas na altura apropriada, mas muitas pernas ainda não estavam alinhadas perfeitamente - para isso, usei alguns clipes de crocodilo para mantê-los no lugar.
1º erro bobo a evitar
Somente depois de completar uma camada completa eu percebi que o riser do meu cartão estava preso no lugar, então tive que cortá-lo! Não cometa o mesmo erro que eu cometi - deixe o riser mais longo e junte os pedaços de cartão fora do cubo; assim, quando você concluir a camada, poderá desconstruir o riser e retirar o cartão.
Segundo erro bobo a evitar
Não solde a perna vertical na estrutura do cátodo, obviamente. As pernas verticais devem se conectar apenas a outras pernas verticais e nada mais.
Novamente, teste após cada camada ter sido anexada. Teste todas as camadas, na verdade, apenas tocando o fio positivo na ponta da camada superior, garantindo assim que você tenha um bom contato em todas as camadas.
Quando todas as 4 camadas foram soldadas, comecei a limpar um pouco - deixei uma única perna estendida para fora de cada camada, como uma espécie de trampolim - isso seria reduzido ao embarque mais tarde. Outros pedaços estranhos da armação e pernas de metal foram cortados. Obviamente, não corte nenhuma das pernas verticais - precisamos colocá-las em nossa prancha de prototipagem.
Fixação à placa
Lembra quando eu disse que fixar cada camada em si mesma era a parte mais difícil? Eu menti. Tentar encaixar 16 pernas de LED em pequenos orifícios em uma placa de prototipagem é realmente mais difícil. A maneira mais fácil que encontrei foi vasculhar 4 de cada vez, prendê-las com clipes de crocodilo e passar para a próxima linha de 4. Use uma caneta para marcar o espaçamento antecipadamente, se ajudar.
Em retrospecto, eu teria colocado os resistores no protoboard primeiro, na verdade. Como é, soldei todas as pernas do cubo na placa primeiro, depois tentei apertar delicadamente os resistores entre cada um. Aprenda com o meu erro e coloque seus resistores primeiro.
Tentei espaçá-los igualmente de uma maneira escalonada para poder usar um lado inteiro do cubo para todas as conexões finais com o Arduino. Aqui está o diagrama de circuito com o qual eu fui:
Para as quatro camadas negativas, derrubei um único fio de cada camada e as puxei para o lado, assim:
Finalmente, adicionei alguns fios de plugue que poderiam ser colocados nos pinos relevantes do Arduino. Use o tipo mais longo que você tem. Nota: eu estraguei o pedido em alguns lugares devido a um planejamento insuficiente. Cada linha de LEDs foi codificada por cores.
É isso aí. Acabado!
Programando seu cubo
Eu sei que você não pode esperar para que isso aconteça, então conecte as 4 camadas negativas E / S analógica portos A2 (camada inferior) através A5 (camada superior)(eles também podem atuar como E / S digital). Em seguida, conecte os 16 pinos de controle do LED, começando com +1 na extrema direita para E / S digital porta 0com +15 e +16 entrando em analógico A0 e A1. (Não use AREF e GND)
Faça o download do padrões e código de demonstração do usuário instrutável forte1994. Ele também forneceu uma ferramenta online útil para projetar os padrões de bytes para personalizar sua própria sequência. Aqui está um vídeo desse código em ação no meu cubo (Ajustei a velocidade para 5, em vez do padrão 20).
Esta não é a única maneira de programar seu cubo, é claro, então deixe-me passar alguns minutos ensinando o básico de como criar seus próprios padrões programaticamente, em vez de reproduzir padrões predefinidos, como a demonstração acima.
Há algumas coisas que você deve saber ao tentar programar seu cubo:
- Para endereçar um único LED, use um avião (camada) número 0–3 e um pino de LED número 0–15. Gire o avião para a saída LOW (já que esta é a perna negativa) e o número do pino do LED HIGH (a perna positiva) para ativar o LED.
- Antes de ativar um único LED, verifique se todos os outros planos estão desligados - isso significa configurá-los para saída ALTA. Não fazer isso resultará em uma coluna de LEDs acesa, em vez de um único LED.
Com isso em mente, fiz duas seqüências programáticas muito simples para você examinar - faça o download do código aqui. O primeiro simplesmente acende cada LED, um por um, em sequência. Usamos dois para loops, iterando sobre cada camada e cada pino de controle.
O segundo é um loop aleatório (você precisará comentar o primeiro e habilitá-lo no loop principal para testá-lo). Ele simplesmente seleciona uma camada aleatória e um pino de controle aleatório, ativando e desativando.
Sumário
Não se deixe intimidar por essa compilação - estou com muita falta de habilidades de soldagem e consegui isso (Eu acho que?). O tempo total de construção foi de aproximadamente uma hora por dia durante uma semana. Na próxima vez, tentarei ensinar uma programação mais ambiciosa para o cubo, então espero que você se junte a mim na construção de seu próprio cubo nesta semana e carregando um novo código na próxima semana - e se você criar seus próprios aplicativos ou sequências impressionantes, faça o upload para Pastebin e informe-nos no comentários!
James é bacharel em Inteligência Artificial e possui certificação CompTIA A + e Network +. Ele é o principal desenvolvedor do MakeUseOf e passa seu tempo livre jogando paintball e jogos de tabuleiro em VR. Ele está construindo PCs desde que era criança.