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

Arte do Triângulo Dinâmico

Componentes e suprimentos

APA-106 LED RGB programável
× 45
Fio de cobre estanhado de calibre 22
× 1
Arduino UNO
× 1
Triângulo de madeira compensada de 12 polegadas de lado, 1/4 de polegada. espessura
× 1

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)
Pistola de cola quente (genérica)
clipes dissipadores de calor
Use para proteger os LEDs do calor de solda

Sobre este projeto







Introdução


Este projeto usa 45 LEDs programáveis ​​APA-106 controlados por um Arduino UNO. Esses LEDs são semelhantes às faixas de LED individualmente programáveis, portanto, estamos usando a biblioteca Neo-pixel da Adafruit para controlá-los. Um único pino no UNO programa todo o display, já que uma única linha de dados passa por todos os LEDs em uma cadeia.

A inspiração para este design foram dois dos meus projetos anteriores. Meu segundo cubo 5x5x5 RGB (outro cubo 5x5x5 RGB) usava LEDs programáveis ​​APA-106 e fiquei com cerca de 75 extras. Eu poderia ter construído um cubo 4x4x4 com eles, mas construí muitos cubos recentemente - é hora de outra coisa. Meu projeto Servo Motor Art foi construído como um triângulo e esse desenho triangular criou muitos padrões interessantes. Portanto, este projeto usa 45 LEDs APA-106 dispostos em um padrão de triângulo para explorar mais a arte do triângulo.

Este é um projeto bastante fácil, tanto do ponto de vista do hardware quanto do software. Vejamos primeiro o hardware e depois o software.





Hardware


O hardware consiste apenas no UNO e 45 LEDs. Esses LEDs são incrivelmente brilhantes na potência máxima, então tenho o brilho de toda a tela definido em 30 em uma escala de 0 a 255. Nesse nível, o UNO e todos os LEDs podem ser alimentados diretamente da entrada USB do UNO, portanto, uma fonte de alimentação de 1 A - 5 volts é opcional.

O primeiro passo na construção é fazer furos em um pedaço de madeira compensada de 1/4 de polegada. A placa em si tem 12 polegadas em cada borda. Os LEDs são separados por 1 polegada em um triângulo equilátero cuidadosamente construído. Os LEDs têm 8 mm, então fiz orifícios de 8 mm que deram aos LEDs um encaixe perfeito - eles não se moveram depois de pressionados.

Acima à esquerda está o LED APA-106. A liderança longa é aterrada. A saída de dados é a liderança à direita ao lado da borda plana do pacote. A primeira derivação à esquerda é a entrada de dados e a próxima derivação entre os dados de entrada e o solo é de + 5V. Essas 4 derivações são dobradas conforme mostrado à direita. O cabo de aterramento possui uma segunda dobra na extremidade - sua finalidade é apenas identificar o cabo de aterramento, pois é difícil vê-lo uma vez que todos estão dobrados.

A imagem acima mostra como a placa é conectada. Observe primeiro que a linha de dados em azul se move para frente conforme os LEDs são encadeados. Isso significa que nas linhas ímpares, os dados fluem da esquerda para a direita, enquanto nas linhas pares os dados fluem da direita para a esquerda. Isso também faz com que os trilhos de alimentação sejam diferentes para linhas ímpares e linhas pares. Para filas ímpares, o avanço de solo sobe e o avanço de + 5v desce, então o oposto para filas pares.

A foto acima mostra a fiação. Tudo é feito com fio de cobre estanhado de calibre 22. Eu coletei os trilhos de aterramento à esquerda e os trilhos de + 5V à direita. Você deve fazer exatamente o oposto. Cada conexão de linha de dados na minha placa teve que passar por um barramento de energia, mas se você mudar o aterramento para a direita e + 5v para a esquerda, as linhas de dados não terão que cruzar nada!

Acima está uma visão aproximada da fiação. Observe como a linha de dados à direita cruza o topo do barramento de alimentação de 5 volts.

A foto acima mostra o tabuleiro acabado. Usei alguns pequenos pedaços de plástico como contrapesos para o UNO e montei o UNO na placa com um pouco de cola quente.

A foto acima mostra o triângulo em uma caixa. Esta é uma impressão 3D do arquivo .stl incluído aqui. Você também pode construir um facilmente com madeira compensada.





Software


O software é bastante simples graças à biblioteca de neo-pixel da Adafruit. Isso nos dá setPixelColor (# na cadeia, cor) para definir a cor de qualquer LED e show () que atualiza todo o display com as últimas alterações. A biblioteca usa um número de 32 bits sem sinal para representar a cor de um LED, armazenando 8 bits para cada intensidade de vermelho, verde e azul. Usei esse esquema diretamente para clarear e escurecer as cores primárias, mas para todo o resto, usei meu próprio esquema simples de gerenciamento de cores, emprestado de meus cubos de LED. É um esquema simples onde os números de 1 a 42 representam uma paleta de cores do arco-íris, adicionando 0 para Preto (tudo desligado) e 43 para Branco (tudo ligado).

Você deve ter notado no diagrama de fiação acima que os LEDs eram numerados começando com 0 na parte superior e os números indo da esquerda para a direita por linha. Este é o sistema de numeração que usei para identificar os LEDs. Ele não vai e volta como a linha de dados faz, então eu criei minha própria versão de setPixelColor que se refere a LEDs por minha atribuição de número e me permite especificar uma cor usando minha paleta de cores de 0 a 43.

Quase todas as animações ou efeitos que você vê no vídeo são direcionados à mesa. Uma tabela mostra como fazer a varredura a partir do canto superior. Duas outras tabelas traduzem esse efeito para os outros dois cantos. Outra tabela mostra os LEDs no triângulo externo, depois no meio e no triângulo interno. Todas essas várias tabelas são armazenadas na memória do programa, e não na RAM. A princípio, fiquei preocupado com o fato de todas essas tabelas ocuparem muito espaço valioso do programa. Mas usar essa abordagem de tabela provou ser muito eficiente e o espaço do programa nunca foi um problema.

O programa ou esboço é dividido em quatro arquivos ou guias no IDE do Arduino. O primeiro são as declarações, tabelas e a rotina de configuração. O segundo é o loop principal que simplesmente chama uma lista das várias animações. O terceiro são as próprias animações. A quarta são as funções de propósito geral ou sub-rotinas que suportam todas as animações.

No vídeo acima você vê o show original com 15 animações. Dura cerca de 3 minutos antes de se repetir. Desde então, porém, expandi o show para incluir uma série de novas animações que você pode ver no vídeo abaixo.

Todas as animações no vídeo acima são feitas com chamadas a uma única sub-rotina chamada rotação (). O triângulo é composto de um triângulo externo de 24 LEDs, do triângulo intermediário de 15 LEDs e do triângulo interno de 6 LEDs. O denominador comum desses três números é 120. Portanto, em 120 etapas, podemos girar o conteúdo de todo o triângulo em 360 graus. Isso é o que a rotina rotate () faz. Mude os padrões iniciais, mude a direção de rotação, mude a velocidade de rotação e você terá todos os efeitos que vê no vídeo acima.

O show no download agora inclui o show original, bem como todas as animações acima, produzindo um show com 26 animações que dura 5 minutos antes de se repetir.

Código

  • Código Arduino para o Triângulo Artístico
Código Arduino para Art Triangle Arduino
Este é um arquivo zip com uma rotina de teste, um show com 26 animações e instruções para usar a biblioteca Neo-pixel
 Sem visualização (somente download). 

Peças personalizadas e gabinetes

Um arquivo .stl para um gabinete

Esquemas


Processo de manufatura

  1. Trigonometria do Triângulo Direito
  2. Trigonometria do Triângulo Não-direito
  3. Controladores lógicos programáveis ​​(PLC)
  4. C Alocação de Memória Dinâmica
  5. Walabasquiat:Uma Instalação de Arte Gerativa Interativa!
  6. Memória Dinâmica C++
  7. G.AL® C330 Dinâmico
  8. G.AL® C210 Dinâmico
  9. A fresagem horizontal é a arte da produção eficiente
  10. Diferença entre bomba de deslocamento dinâmico e positivo