Índice:

Raspberry Pi Christmas Tree Light Show: 15 etapas (com fotos)
Raspberry Pi Christmas Tree Light Show: 15 etapas (com fotos)

Vídeo: Raspberry Pi Christmas Tree Light Show: 15 etapas (com fotos)

Vídeo: Raspberry Pi Christmas Tree Light Show: 15 etapas (com fotos)
Vídeo: Raspberry Pi: Twitter Monitoring Christmas Lights 2024, Novembro
Anonim
Image
Image

Atualização: Eu coloquei uma evolução atualizada desta Árvore para 2017 neste

Este projeto envolve o uso de um Raspberry Pi para acionar 8 tomadas CA que estão conectadas aos conjuntos de luzes da Árvore de Natal. As luzes AC são fios de luz simples de uma cor, mas para dar uma faixa mais dinâmica ao show de luzes, há também uma estrela de LED RGB programável com 25. Um dos benefícios de usar o Raspberry Pi em vez de um controlador Arduino é que posso direcionar o áudio do Raspberry Pi para que as luzes sejam sincronizadas com música (sem mencionar o benefício de ter uma conexão WiFi para funcionar no software remotamente).

Etapa 1: Materiais

Materiais
Materiais

Lembre-se de que os materiais abaixo são os que usei para este projeto. Em muitos casos, peças / soluções alternativas podem ser usadas.

Aqui estão os materiais que usei para este projeto:

Para o controlador:

  1. Raspberry Pi (modelo B é o que usei)

    • Cartão SD
    • Adaptador wi-fi USB
  2. SainSmart 8 Channel 5V SSR Module Board - Amazon

    Evitei os relés mecânicos, pois o som de clique do interruptor será visivelmente audível, e fomos para os SSRs. Esta placa é avaliada em até 2 AMP por SSR, o que é suficiente para alimentar uma série de luzes de Natal

  3. Fios de jumpers - podem ser encontrados baratos no Ebay
  4. Plugue JST SM + Receptáculos - Adafruit
  5. Rolo de arame de 32 pés (ou quatro pedaços de arame de 8 pés)
  6. Cabo de extensão x 8
  7. Bloco de distribuição de energia x 2 - AdaFruit
  8. Power Strip
  9. Suprimentos de energia
    • 5 Volts, 3 Amps ou mais para acionar LEDs e Pi
    • 5 Volts, 1 Amp ou superior para conduzir o módulo SSR
  10. Gabinete
  11. caixas de som

Para a estrela:

  1. LEDs RGB de 12 mm (fio de 25) - o chip AdafruitWS2801 neste produto permite que o Pi apenas tenha que pulsar o fio uma vez em vez de pulsar continuamente a linha para manter os LEDs iluminados.
  2. Folha de plástico ABS para manter os LEDs no lugar - Walmart
  3. Lâmina de Lexan para LEDs difusos - Lowes
  4. Tinta spray preta
  5. Tinta spray branca
  6. Madeira

Para a árvore:

  1. Fio de luz branco 100 x 4
  2. Fio de luz branco 50
  3. Fita de luz vermelha 100 x 2
  4. Fita de luz verde 100 x 2
  5. Azul 100 fios de luz x 2

Etapa 2: configurar o Raspberry Pi

Antes de mergulhar na fiação, eu queria primeiro colocar o Pi em funcionamento para testar os componentes à medida que eram conectados. Esta configuração foi feita antes da configuração do gabinete e envolve o Raspberry Pi conectado via USB a um monitor e teclado. O objetivo é configurar o sistema para que o desenvolvimento do ponto possa continuar no Pi no recinto.

A instalação Pi padrão não tem as bibliotecas necessárias para acionar adequadamente os LEDs WS2801 na estrela, então instalei o sistema operacional Occidentalis da AdaFruit no Pi.

Após a instalação do Occidnetalis, uma pequena configuração extra foi envolvida:

1) Configure o Pi para inicializar em um prompt de comando (não a interface GUI)

2) Configure a interface de rede sem fio no Pi editando / etc / network / interfaces. Certifique-se de escolher um endereço IP estático para que você possa fazer login em um endereço conhecido para trabalhar no Pi

3) Instale os serviços Telnet e FTP.

4) Instale o Pygame. A biblioteca é usada nos scripts python para reproduzir arquivos MP3 / WAV

Instruções detalhadas para a instalação / configuração podem ser encontradas facilmente em pesquisas na Internet. Muitos recursos existem no Pi online.

Após este ponto, posso desconectar qualquer saída de vídeo e teclado porque o Pi pode ser conectado remotamente.

Etapa 3: Comece a configurar o gabinete

Comece a configurar o gabinete
Comece a configurar o gabinete

Não vou entrar em muitos detalhes sobre como construir o gabinete, pois é apenas uma caixa de madeira. Perfurei alças de 1,5 de diâmetro nas extremidades do gabinete. À direita está o orifício onde todos os cabos de extensão e o cabo estrela saem e à esquerda é o orifício onde o filtro de linha e a saída de áudio são executados.

Os primeiros componentes a serem montados são o filtro de linha e o Raspberry Pi. Para alimentar o Pi, estou usando o mesmo transformador de 5 V para alimentar a estrela e o Pi (mostrado em verde). Por causa disso, tenho a energia indo para um bloco de terminais (destacado em branco), onde o 5V bifurca para a fiação estrela e para o Pi

Pino 2 = 5V

Pino 6 = Terra

Depois de conectado, ligue a energia e o Pi deve inicializar e ser acessado via Telnet conforme configurado na etapa anterior.

Etapa 4: conectando o Raspberry Pi ao módulo de relé

Conectando o Raspberry Pi ao Módulo de Relé
Conectando o Raspberry Pi ao Módulo de Relé

Com toda a alimentação desligada (Power Supplys e Pi), conecte os 5 Volts aos dois conectores de fonte de alimentação externa inferiores. Eu dirigi este com uma fonte dedicada de 5 volts conectada ao filtro de linha. Isso ocorre para que o Pi não tenha toda a carga de acionamento do relé (a preocupação são 8 relés simultâneos acionados) e, em vez disso, possa apenas acionar um transistor para ativar a alimentação externa do relé.

Agora determine a localização do GPIO0 por meio do GPIO7 no Raspberry Pi. No meu modelo B que é:

GPIO0 = Pino 11

GPIO1 = Pino 12

GPIO2 = Pino 13

GPIO3 = Pino 15

GPIO4 = Pino 16

GPIO5 = Pino 18

GPIO6 = Pino 22

GPIO7 = Pino 7

Terra / 0V = Pino 6, Pino 9, Pino 14, Pino 20, Pino 25

Como a conexão no Módulo SSR é aparafusada em postes, cortei cada jumper para o tamanho adequado com base em como estava espaçando os componentes. Conecte todos os 8 canais de entrada, bem como o aterramento do Pi na placa. Os alicates de ponta fina ajudam a assentar os jumpers no cabeçalho Pi de maneira adequada.

Cada canal tem um LED no Módulo SSR que acenderá quando o GPIO for alto no Pi. Execute um programa de teste simples para verificar todas as conexões, anexadas como test.py, onde cada GPIO0-7 é definido como alto por dois segundos.

Etapa 5: corte e prepare os cabos de extensão

Cortar e preparar cabos de extensão
Cortar e preparar cabos de extensão

Em cada cabo de extensão, corte a extremidade do plugue, deixando o comprimento máximo disponível para a extremidade com soquete do cabo, pois provavelmente terá que ir até o topo da árvore. No cabo, divida as pontas do fio, cortando o pedaço fino de plástico que mantém os dois fios juntos. Agora retire as pontas de modo que cerca de 1/4 do fio fique exposto para o parafuso nos conectores.

Use um marcador Sharpie em cada extremidade com soquete do cabo para escrever os números de 1 a 8 para que você possa identificar facilmente qual soquete vai para qual canal no módulo SSR.

Também precisaremos de um plugue e também de um fio extra para a próxima etapa, então canibalize um 9º cabo de extensão ou deixe algum espaço extra nos 8 cabos de extensão ao cortar a extremidade do plugue.

Etapa 6: Conectando os cabos de extensão AC

Conectando os cabos de extensão AC
Conectando os cabos de extensão AC
Conectando os cabos de extensão AC
Conectando os cabos de extensão AC

A próxima etapa conecta a extremidade de saída do módulo SSR com 8 cabos de extensão. Uma vez que a quantidade de fios aqui pode ficar desordenada com muita facilidade, usei um bock de distribuição de energia e uma pistola de grampos para tentar manter tudo no lugar.

Com a alimentação desligada, pegue a extremidade do plugue cortado da etapa anterior e conecte-o ao filtro de linha. Desencape as outras duas extremidades e conecte cada uma ao bloco de distribuição de energia superior e inferior e grampeie essas duas conexões para baixo.

Agora conecte um dos cabos de extensão cortados da etapa anterior. No meu caso, tenho um invólucro com um orifício de 1,5 de diâmetro para que todos os cabos fluam para fora, portanto, destacado em verde está um dos cabos com uma extremidade conectada ao bloco de distribuição e a outra à extremidade de saída do módulo SSR. Para completar o circuito, precisamos de um fio muito mais curto (mostrado em azul) que conecte o outro bloco de distribuição ao módulo SSR. Apare e grampeie para manter tudo o mais organizado possível. O grampo não só mantém as coisas organizadas, mas também serve a um alívio de tensão para que qualquer puxão e puxão ao conectar as lâmpadas à árvore não tire as conexões dos componentes. Nem é preciso dizer que, ao grampear, o grampo não perfura o fio ou o isolamento.

Etapa 7: Teste as conexões AC

Teste as conexões AC
Teste as conexões AC
Teste as conexões AC
Teste as conexões AC

Em vez de ligar fios inteiros de Luzes de Natal, liguei luzes noturnas baratas de US $ 1 em cada cabo de extensão para testar e desenvolver as animações antes que a árvore fosse erguida. Pintei as luzes conectadas aos cabos que controlariam as cordas de luz vermelha, verde e azul.

Execute o mesmo programa de teste usado para testar o módulo SSR e certifique-se de que cada conexão acenda corretamente.

A caixa de luzes indicava que cada corda consumiria 0,34 Ampere, e para as luzes coloridas eu ia enfileirar dois conjuntos juntos, o que deveria resultar em um empate total de 0,68 Amperes. Isso está bem abaixo da classificação do SSR, que é 75 - 200 VAC a 2 Amps, no entanto, eu queria verificar novamente, pois o fusível no módulo SSR está soldado à placa, dificultando a substituição.

Etapa 8: Criando a estrela

Criando a Estrela
Criando a Estrela
Criando a Estrela
Criando a Estrela
Criando a Estrela
Criando a Estrela
Criando a Estrela
Criando a Estrela

A primeira etapa na criação da estrela é fazer um modelo imprimível para ajudar a moldar a moldura de madeira e o plástico. Depois de dimensionar e imprimir o modelo no tamanho apropriado, peguei um pedaço de madeira de 4,25 "x 0,125" da loja de artesanato e medi a distância necessária para cada lado da estrela. Na verdade, não chanfrei nenhuma das juntas quando as estava cortando, de modo que a formação da estrela exigia suporte para manter as peças no lugar durante a colagem.

Colocando o gabarito na superfície de trabalho, usei suportes para segurar as duas peças de madeira no lugar, conforme mostrado em marrom na imagem. Com as duas bordas da madeira se tocando, a cola foi aplicada em ambos os lados da junta. Depois, pegando um pedaço fino de balsa, cortei um triângulo para emendar as duas peças e colei na estrela. A razão para usar a balsa é que, uma vez que a estrela está firmemente unida, eu fui capaz de lixar facilmente o triângulo para combinar com o contorno da estrela, mostrado em um círculo na imagem da estrela.

Por causa do método de construção, tive que esperar algumas horas em cada junta para que a cola secasse antes de passar para a próxima junta.

Depois que a estrela inteira foi formada, eu uso massa de drywall para cobrir as lacunas onde dois pedaços de madeira se encontravam nas pontas da estrela.

Em seguida, colei algumas pequenas rolhas ao redor da parte interna da estrela para ajudar a encaixar o conjunto de LED no lugar quando inserido, destacado com um retângulo. Eu não acredito que eles sejam realmente necessários, já que a gravidade faz o trabalho de manter o conjunto de LED no lugar.

Colocando a estrela montada no topo da folha de Lexan, trace a forma da estrela e recorte a estrela do Lexan. Depois de cortar a estrela de Lexan, verifique se ela se encaixa na moldura de madeira e, em seguida, aplique 2 camadas de tinta spray branca em um lado do Lexan e deixe secar por 24 horas. Isso permite que os LEDs sejam difusos, bem como ocultá-los da vista.

Para esconder a tampa entre a estrela de Lexan e a moldura de madeira, usei uma pequena tira de madeira balsa de 0,25 pol., Cortei no formato adequado e "tampei" a moldura de modo que a balsa cobrisse a lacuna.

Finalmente adicionou um pedaço de pau / cavilha para ajudar a prender a estrela no topo da árvore.

Etapa 9: Crie a montagem de LED

Crie a montagem de LED
Crie a montagem de LED
Crie a montagem de LED
Crie a montagem de LED

Usando o mesmo molde para formar a estrela de madeira, corte a folha de plástico ABS no tamanho, mas um pouco menor para poder inserir dentro da estrela de madeira. Teste se ele se encaixa bem dentro da estrela de madeira.

Em seguida, ainda usando o gabarito com os locais dos orifícios, faça os 25 orifícios do LED. Os LEDs da AdaFruit têm um flange de silicone do lado de fora para que se encaixem perfeitamente em orifícios de 12 mm. Na foto você pode ver o flange e usei uma linha verde para indicar onde o plástico ABS se encaixaria no flange para manter o LED no lugar.

Comece em uma das pontas e trabalhe ao redor da parte externa da estrela, depois vá para as 5 montagens internas para completar a peça. No meu programa, tenho as posições dos LEDs conectadas conforme mostrado numericamente na imagem, sendo 1 o primeiro LED após o conector.

Aplique um pouco de fita isolante nas pontas vermelha e azul do cabo. Eles são entradas secundárias para energia que não usaremos e, em vez disso, usaremos a conexão vermelho / azul com a conexão de relógio / sinal no próprio cabo.

Etapa 10: Criação do fio de extensão para a estrela LED

Criando o fio de extensão para a estrela LED
Criando o fio de extensão para a estrela LED
Criando o fio de extensão para a estrela LED
Criando o fio de extensão para a estrela LED

Em seguida, está criando um cabo de 8 pés para ir do gabinete até a estrela no topo da árvore.

Corte 4 pedaços iguais de fio de 8 pés e em uma extremidade do feixe de cabos use fita isolante ou fitas de zíper para manter o feixe unido e organizado. Faça isso por todo o comprimento do feixe de 4 cabos a cada dois centímetros.

Em qualquer extremidade do feixe descasque os fios e solde aos conectores JST para que o fio possa conectar uma extremidade ao invólucro e a outra à estrela. Certifique-se de manter a posição relativa dos fios na ordem correta para que, quando conectados à estrela, as conexões Azul / Verde / Amarelo / Vermelho coincidam na outra extremidade do cabo. Use um multímetro para verificar se o cabo está conectado corretamente.

Etapa 11: Conecte a estrela ao Pi

Conecte a estrela ao Pi
Conecte a estrela ao Pi

Precisamos agora criar o receptáculo no gabinete para o fio estrela / extensão para conectar.

Vermelho = 5 Volts

Azul = Terra

Portanto, podemos conectar essas duas linhas no conector JST ao bloco de terminais ao qual a alimentação do Raspberry Pi está conectada.

As outras duas conexões são:

Amarelo = Dados = MOSI = Pino 19

Verde = Relógio = SCLK = Pino 23

Eu segui a fiação do tutorial de AdaFruit. Portanto, retire as pontas dos dois cabos jumper para que possam ser soldados ao conector JST.

Uma vez que você tenha certeza de que a fiação obterá os sinais adequados para os LEDs, você pode estabilizar o conector no gabinete para alívio de tensão, de modo que qualquer puxão no cabo de extensão não arranque os jumpers do Pi.

Etapa 12: Teste o LED Star

Teste a estrela LED
Teste a estrela LED
Teste a estrela LED
Teste a estrela LED

Com a estrela LED conectada ao Pi. Execute um programa de teste simples para verificar se a iluminação está funcionando corretamente. Muito do meu código foi adaptado do Tutorial AdaFruit, bem como uma postagem do fórum no site sobre como adaptar o código do tutorial para caber nos LEDs que estamos usando.

O ledtest.py anexado fará com que a estrela passe lentamente de azul puro para vermelho puro.

Etapa 13: conectar os alto-falantes, construir um gabinete superior

Conecte os alto-falantes, construa um gabinete superior
Conecte os alto-falantes, construa um gabinete superior

Nada de especial aqui, apenas conecte os alto-falantes ao áudio do Raspberry Pi e conecte-os ao filtro de linha. Um alto-falante amplificado simples com um botão de ajuste de volume funcionará.

Para a parte superior, eu queria poder olhar dentro da caixa, então montei um pedaço de vidro 8,5 x 11 (de um porta-retrato) na tampa e usei velcro na parte superior para que eu pudesse remover rapidamente a parte superior, se necessário. Uma grande parte do invólucro tem 110 VCA exposto, portanto, é importante que a parte superior forneça proteção contra qualquer pessoa ou qualquer coisa contra um contato acidental.

Etapa 14: Conecte a iluminação à árvore

Conecte a iluminação à árvore
Conecte a iluminação à árvore

Selecionei o layout dos canais na Árvore de Natal para me dar o máximo de flexibilidade para gerar diferentes tipos de movimento / efeitos. Em anexo está uma foto de como eu coloquei a iluminação para os 5 fios brancos. Os três canais restantes eram, cada um, um conjunto de duas 100 luzes de cores claras: Vermelho, Verde, Azul.

O cabo de extensão específico que você conecta a cada fio não é crítico, pois na próxima etapa posso personalizar o mapeamento entre GPIO0-7 e quais luzes estão na árvore.

Etapa 15: Carregar / Criar Música, Software, Seqüências…

Image
Image

Existem vários sequenciadores de luz de Natal disponíveis online para o Raspberry Pi, mas codifiquei um simples do zero. Todas as sequências foram geradas alinhando tempos de batidas / medidas no Audacity (editor de áudio) para comandos específicos do meu sequenciador.

rxmas.py

Este programa escolherá aleatoriamente um layout estático para a árvore a cada minuto. Eu tenho este script em execução na inicialização do Raspberry Pi (por meio de um cron job) como o comportamento padrão ao conectar a unidade.

xmas.py

Este é o programa sequenciador, que pega um arquivo de sequência e um MP3 como entradas

setup.txt

Na etapa anterior, forneci o layout que usei para cada canal lógico. Este arquivo mapeia cada GPIO0-7 real para o canal lógico. Portanto, no setup.txt que anexei, o cabo de extensão do GPIO0 dirige o canal lógico 8 (azul), o GPIO1 dirige o canal lógico 6 (vermelho), etc …

test.mp3 / test.txt

Este é um caso de teste simples de uma contagem de áudio de números de 1 a 8 com as cordas de luz equivalentes acendendo

Portanto, para invocar este tipo de exemplo:

./xmas.py test.txt test.mp3

carol.txt

O arquivo sequenciador de Christmas Sarajevo pela Trans-Siberian Orchestra

LetItGo.txt

O arquivo sequenciador de Let It Go do Disney's Frozen Movie

russian.txt

O arquivo sequenciador de "A Mad Russian's Christmas" da Trans-Siberian Orchestra

Você terá que fornecer seus próprios arquivos LetItGo.mp3 e carol.mp3 obviamente! Basta comprá-los na Amazon.

NOTA: O vídeo do YouTube incorporado é acelerado em até 110% da velocidade, por isso pode soar um pouco estranho

Faça brilhar!
Faça brilhar!

Primeiro prêmio no Make it Glow!

Recomendado: