Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Cubo LED 5x5x5

Componentes e suprimentos

Arduino Mega 2560
× 1
LED azul
× 125
Transistor NPN NTE85
× 5
Fio de cobre estanhado de calibre 22
Usado para unir camadas e trazer cátodos de camada para a placa principal
× 1
resistor de 180 ohms, 1/4 watt
× 25
placa de prototipagem de 9 cm x 15 cm
× 1
resistor de 330 ohm, 1/4 watt
× 5
Opcional - fonte de alimentação de 9 volts para MEGA
O cabo USB alimentará bem este cubo, mas se você quiser conectá-lo, aqui está um suprimento
× 1

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)
Pistola de cola quente (genérica)
Blue Tack
Usado para manter os LEDs no lugar durante a soldagem

Aplicativos e serviços online

Arduino IDE

Sobre este projeto





INTRODUÇÃO


A maioria das pessoas adora cubos de LED, mas os grandes, como 8x8x8, dão muito trabalho tanto para construir quanto para programar. Os pequenos (3x3x3 ou 4x4x4) são fáceis de construir, tanto porque não requerem um grande número de LEDs, mas também porque não requerem hardware externo como registradores de deslocamento e drivers de alto nível para gerenciar o cubo. Mas eles realmente não são o mesmo que um grande cubo.

Meu objetivo desde o início deste projeto era criar um cubo fácil de construir e, em seguida, criar software legal o suficiente para tornar possível desfrutar da sensação de um grande cubo sem todo o trabalho árduo necessário para construir um grande. Portanto, este é um cubo 5x5x5 que pode ser alimentado diretamente por um Arduino Mega sem registradores de deslocamento de qualquer hardware auxiliar diferente de 5 transistores (usados ​​para puxar uma camada inteira - os cátodos de 25 LEDs, para o aterramento). Por que eu quero evitar registradores de deslocamento? Porque eles são absolutamente horríveis de manusear com arame. (Eu tentei.) Você realmente precisa projetar e fabricar uma placa de PC se quiser usá-la.

Eu escrevi muitos códigos para cubos grandes no passado, então adaptei um monte de animações de cubo existentes para rodar neste cubo 5x5x5.

Na verdade, este é o primeiro de três projetos como este. O segundo está aqui. É um cubo RGB 5x5x5, muito semelhante em design a este cubo, mas mais difícil de construir. O terceiro está aqui - um cubo de cor única 8x8x8, novamente com hardware externo mínimo.

NOTA:Antes de prosseguir aqui, não sou o primeiro a sugerir um cubo 5x5x5 alimentado com um MEGA. A MEGA DAS publicou um projeto semelhante aqui em 2017. O hardware em ambos os projetos é quase idêntico. Eu não tinha visto o um anterior até eu começar este artigo, então minhas pinagens são diferentes, e o resistor valores são diferente, mas fora isso, o hardware é quase idêntico. Estou publicando isso principalmente porque tenho muita experiência em escrever software de cubo. Espero que meu software convença algumas pessoas a construir um cubo, o que talvez não acontecesse!

O vídeo acima é uma função de onda senoidal onde a amplitude está no eixo ze o tempo é representado como a distância horizontal do centro do cubo. É um clássico incrível em um grande cubo, mas não tão ruim neste 5x5x5!



Estou incluindo dois outros vídeos. Ambos são da mesma coisa - 14 animações para o cubo 5x5x5. Não tenho certeza do que é melhor, então incluí os dois. E caso não seja óbvio, cubos ficam muito mais legais pessoalmente do que em vídeo!





HARDWARE


O Mega tem muitos pinos IO digitais. Usamos 5 para puxar os cátodos para cada camada e mais 25 para elevar os ânodos para cada um dos 25 LEDs dentro de uma camada. Usando essa abordagem, o Mega realmente tem pinos de IO suficientes para construir um cubo de 6x6x6. Mas a outra consideração, se estamos tentando manter isso simples, é o poder. Os limites de corrente do Mega são 40 ma por pino e 200 ma no total em todos os pinos. Os LEDs azuis têm uma queda direta de cerca de 3 volts, nossos transistores catódicos comuns perdem mais 0,7 volts. Portanto, com uma fonte de 5 volts e um resistor de 180 ohms, cada LED consumirá 7,2 ma. 25 LEDs / camada desenham 180ma se todos estiverem ligados ao mesmo tempo. Nós apenas ativamos uma camada por vez, então encontramos todas as limitações de corrente do Mega, contanto que usemos transistores NPN para puxar todos os cátodos em uma camada para o terra. A corrente de base de um desses transistores adiciona outros 5 ma à carga total no Mega, mas mantemos o total abaixo de 200 ma. em cerca de 185 ma. Portanto, por todas as razões acima, escolhi resistores de 180 ohms para emparelhar com nossos LEDs.

O gráfico acima mostra como os pinos digitais do Mega se conectam ao cubo. Os pinos 22 a 26 são os 5 pinos que conduzem os transistores que conectam os cátodos do LED ao aterramento. Os pinos 27-51 passam pelos resistores de 180 ohms até os ânodos de 25 LEDs em uma camada.

Você pode estar se perguntando por que esse arranjo de pinças parece um pouco confuso. Meu software usa acesso direto à porta em vez de digitalWrites para configurar os ânodos, ou seja, para ligar ou desligar cada um dos 25 LEDs em uma camada. Isso economiza muito tempo e significa que os LEDs ficam acesos por mais tempo do que se você gastasse muito tempo fazendo digitalWrites. Portanto, as pinagens são organizadas de forma a ajudar a organizar as referências a essas portas digitais, em vez dos números reais dos pinos. Mais sobre tudo isso quando chegarmos ao software.





CONSTRUÇÃO DE CUBOS


Existem muitas opiniões sobre como construir um cubo, independentemente do seu tamanho. A tarefa é tediosa, não importa qual seja a sua abordagem. E é preciso ter cuidado e paciência para obter um bom resultado. Vou mostrar como construí este, mas há outras instruções online, se preferir.

A construção deste cubo começa com a formação de chumbo e a soldagem de LEDs em colunas de 5. Em seguida, os painéis são formados soldando 5 colunas e, finalmente, o cubo é formado soldando 5 painéis. Pessoas que nunca construíram um cubo antes não percebem como é difícil construir um cubo perfeito. Pequenos erros nos ângulos de ataque se acumulam rapidamente e até mesmo pequenas diferenças no espaçamento são facilmente visíveis. Portanto, a etapa de formação de chumbo é crítica. Se você tomar seu tempo e fizer isso direito, você não obterá um cubo perfeito, mas obterá um de aparência razoável.

Os ânodos são o cabo mais longo do LED e vão para baixo, mas precisam ser dobrados para fora do lado do LED para que as fileiras verticais dos ânodos dos LEDs possam ser soldadas. O deslocamento do ânodo e o terminal do cátodo devem estar a 90 graus um do outro, como mostrado nestas fotos.

Pessoalmente, considero a formação de chumbo tediosa e difícil para as mãos, então conduzo de 25 LEDs e construo um painel. Você precisará de algum tipo de gabarito tanto para fazer as colunas quanto para os painéis. Eu faço esse jigging usando o BlueTack, um adesivo reutilizável. Os LEDs podem ser pressionados no BlueTack e permanecer no lugar enquanto as colunas e painéis são soldados. As indentações permitem que você repita esses processos exatamente com os mesmos espaçamentos. É importante medir tudo com muito cuidado na primeira vez. Usei espaçamento de 0,6 polegada entre os LEDs em todas as três direções, permitindo que meu cubo acabado fosse inserido em uma placa com espaçamento padrão de furo de 0,1 polegada.



Uma observação sobre a soldagem de LEDs juntos :Todo pesadelo dos fabricantes de cubos é construir um cubo e então descobrir uma junta de solda fria no interior do cubo onde você não pode mais acessá-lo! Ao fazer isso, certifique-se de que as juntas de solda sejam boas em cada coluna de LEDs que você construir.



Ao terminar cada painel, é hora de testá-lo. Novamente, fazemos isso porque descobrir sobre uma junta de solda fria ou um LED ruim quando o cubo estiver pronto seria desastroso!

No software, incluí um pequeno esboço que testa um painel. Para realizar este teste, você precisa conectar os 5 cabos de ânodo verticais a 5 resistores (330 ohm ou similar) e então esses resistores aos pinos 40-44 (os pinos do ânodo da coluna 0). Em seguida, conecte os 5 pinos do cátodo aos pinos normalmente usados ​​para conduzir os cátodos, pinos 22-26. Um bom painel será semelhante ao vídeo acima. (Como observação, ainda não estamos usando transistores para conduzir os cátodos, então esta pequena rotina de teste leva os cátodos para baixo para ligar um LED. Assim que os transistores forem instalados, faremos o oposto, ou seja, elevar os cátodos para girar nos transistores que então puxam os cátodos para baixo.)

Quando tivermos 5 painéis montados e testados, estaremos prontos para montar o cubo, mas primeiro, devemos preparar a placa inserindo e conectando todos os resistores e transistores necessários.

Coloquei os resistores de 180 ohms ao lado de cada coluna de anodos e os transistores de cátodo e seus resistores de base no espaço entre o cubo e o Mega. Novamente, o espaçamento entre as colunas do ânodo é de 0,6 polegada em ambas as direções, portanto, 5 orifícios vazios na placa entre cada orifício com uma coluna do ânodo.

Agora é um bom momento para colocar o Arduino na placa. Ele pode ser montado em espaçadores, se você os tiver. Na verdade, usei apenas um pequeno pedaço de plástico e um pouco de cola para prender meu Mega cerca de 1/4 de polegada acima da placa.

Os painéis são cada um anexado à placa principal neste ponto. Certifique-se de que cada coluna de ânodo esteja realmente no orifício correto antes de soldar, pois mesmo um erro de um orifício será perceptível no cubo acabado. E certifique-se de manter todos os painéis voltados para a mesma direção, ou seja, todos os terminais do cátodo saindo do mesmo lado.

Em seguida, precisamos conectar os painéis entre si em cada camada, de modo que todos os cátodos em uma determinada camada sejam conectados. Isso é realizado com um pedaço endireitado de fio de cobre estanhado conectando as cinco linhas catódicas em uma camada.

Em seguida, estamos prontos para conectar os cátodos de cada camada à placa principal. Os círculos na imagem acima mostram onde os cátodos de cada camada são conectados e trazidos para o coletor de um transistor. Novamente, estamos usando um pedaço endireitado de fio de cobre estanhado.

Depois de conectar todos os cabos dos resistores ao Mega, estamos finalmente prontos para testar o cubo acabado. No software, forneci um esboço para testar o cubo. Ele acenderá brevemente cada LED no cubo em ordem. Como você já testou cada painel, qualquer problema que você vir neste ponto provavelmente envolverá as conexões de cátodo recentes. Portanto, você pode descobrir que uma camada não está funcionando ou parte de uma camada. Novamente, você provavelmente terá uma junta de solda fria se houver um problema.





SOFTWARE


O status de cada LED no cubo é definido por uma matriz global de bytes 5x5x5 chamada cubo [] [] []. Um 1 significa que o LED está ligado, um 0, que está desligado. Portanto, todas as animações do cubo são criadas colocando 1s e 0s no cubo [] [] [].

O coração de qualquer software de cubo é a interrupção cronometrada que atualiza o cubo. Minha rotina de interrupção é iniciada em setup () e então reside no final do programa. É chamado a cada 10 mseg. e leva cerca de 6 mseg. para atualizar o cubo. Isso deixa 4 mseg. entre cada atualização para a execução de coisas no loop principal.

Durante a atualização, cada camada é ativada por 1,2 ms. A atualização ocorre 100 vezes por segundo. Portanto, qualquer LED individual ligado fica aceso por 120 ms / segundo ou um ciclo de trabalho de 12%. 100 vezes por segundo é rápido o suficiente para fazer o olho humano ver como está ligado continuamente, e o ciclo de trabalho de 12% é suficiente para fazer os LEDs acenderem com bastante intensidade, não tanto como se estivessem ligados continuamente, mas surpreendentemente perto disso .

Para manter o ciclo de atualização o mais curto possível e maximizar o tempo em que os LEDs ficam ligados, evitamos o desperdício de tempo com comandos digitalWrite e usamos o acesso direto à porta para configurar os pinos. Se você olhar para o código na rotina de interrupção, você verá 25 linhas separadas onde esta porta direta é empregada, o que não parece muito bonito, mas na verdade é muito, muito mais rápido do que as poucas linhas de código que poderiam ser empregado para definir os pinos com digitalWrite.

O loop () simplesmente chama cada animação, percorrendo a lista e, em seguida, reiniciando. As animações estão cada uma na própria sub-rotina. Algumas rotinas de animação chamam outras rotinas. Consulte o próprio código para obter explicações sobre as várias animações. Existem também algumas rotinas de utilitários usadas por todas as animações, como clearCube () que desliga todos os LEDs ou copyDown (); que desloca o conteúdo de cada camada para a camada abaixo dela e, em seguida, limpa a camada superior.

Existem três esboços diferentes que você pode baixar. O principal contém as 15 animações que você viu no vídeo. O teste de painel e os esboços de teste de cubo são empregados apenas para testar seu cubo durante a construção.

Código

  • Software 5x5x5 Cube
Software de cubo 5x5x5 Arduino
Contém 3 esboços:Teste de Painel, Teste de Cubo,
e The Show com todas as 15 animações
 Sem visualização (somente download). 

Peças personalizadas e gabinetes

Totalmente opcional, mas se você tiver acesso a uma impressora 3D e quiser a caixa que vê nos meus vídeos, aqui está:

Esquemas

Um esquema do básico Mostra conexões exatas entre cubo e Mega

Processo de manufatura

  1. Tabua de passar
  2. Cubo de Rubik
  3. Placa de circuito impresso
  4. Prancha de surf
  5. Diodo emissor de luz (LED)
  6. Placa RaspiRobot V2
  7. Simple Word Clock (Arduino)
  8. Melodia para dança do caixão
  9. Painel do interruptor Smart Touch
  10. Arduino com Bluetooth para controlar um LED!