Índice:
Vídeo: Visualizador de áudio retro LED Strip: 4 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Como músico e estudante de engenharia elétrica, adoro qualquer projeto que cruze esses dois campos. Já vi alguns visualizadores de áudio DIY (aqui, aqui, aqui e aqui), mas cada um deles perdeu pelo menos um dos dois objetivos que estabeleci para mim: uma qualidade de construção profissional e uma tela relativamente grande (um wimpy 8 * 8 A matriz de LED não seria suficiente aqui!). Com um toque vintage e medindo 40 "x 20", este visualizador de áudio atinge esses dois objetivos.
Pedimos desculpas antecipadamente pelas fotos verticais. Muitos deles foram levados para a mídia social.
Etapa 1: Lista de peças
Eu já tinha várias dessas peças espalhadas. Os links são apenas para referência. Não compre componentes desnecessariamente caros.
Eletrônicos
- WS2811 60LEDS / m @ 5m, IP30 (não à prova d'água), endereçável - eram mais baratos que o WS2812 na época. Você tem alguma margem de manobra aqui, mas certifique-se de que as dimensões estejam corretas e que você possa realmente falar com os LEDs. Observe também que WS2811s são 12V, enquanto WS2812s são 5V.
- 9 x Conectores JST de 3 pinos + Receptáculos
- Fonte de alimentação DC 12V 20A (240W) - planejei inicialmente fazer 2 faixas de LED e queria um conjunto de alto-falantes incrível. Cada faixa de luz tem 90W na pior das hipóteses (não fiz medições para confirmar), o que me deixou ~ 60W para alto-falantes + amplificador. A opção 15A custava apenas $ 4 menos de qualquer maneira.
- Cabo de alimentação (3 pinos)
- Arduino Uno - Eu tinha um R3 por perto, então usei-o. Você pode encontrar uma opção mais barata em uma das cópias ou em outro fornecedor.
- Breakout TRRS - Para entrada aux
- Regulador de 5 V L7805 - Qualquer regulador de 5 V que aceite uma entrada de 12 V funcionará.
- Capacitores 330 nF, 100 nF - de acordo com a folha de dados L7805
- 2 x 10kR, 2 x 1kR, 2 x 100 nF capacitores - para polarização de entrada de áudio
- Receptor estéreo - qualquer receptor estéreo vintage funcionará, desde que tenha entrada aux (3,5 mm ou RCA). Comprei uma Panasonic RA6600 no craigslist por US $ 15. Eu recomendo verificar Goodwill, craigslist e outras lojas de brechós para semelhantes. *
- Alto-falantes - Não alto-falantes BT. Apenas um conjunto de alto-falantes. Preste atenção em qual impedância é compatível com seu receptor. Encontrei um conjunto de 3 alto-falantes de 20 W (= alto) na Goodwill por US $ 6 e veio com um "central" e dois alto-falantes "frontais".
- Adaptador de áudio Logitech BT - este dispositivo pode transmitir áudio para os alto-falantes estéreo e para o seu circuito
- RCA macho para cabo RCA macho
- Cabo auxiliar
Hardware
- 2x6 (8 pés) - Sem pressão tratada. Deve ser ~ $ 6 ou menos em HD ou Lowe's
- 40% Acrílico de transmissão de luz - encomendei 18 "x 24" x 1/8 "e era tecnicamente 17,75" x 23,5 ". Mantenha-o na embalagem quando for fazer o corte a laser.
- Wood Stain - Você só precisa de uma pequena lata. Usei mogno vermelho Minwax e ficou muito bom. Definitivamente, recomendo um tom escuro. Eu tentei originalmente provincial e não parecia tão bom.
- Lacquer - Primeiro, confira este vídeo de Steve Ramsey e decida você mesmo o que funciona melhor. Peguei uma lata de spray semibrilhante (sem brilho disponível) e, honestamente, não adiantou muito. Mas também fiz apenas uma camada devido a limitações de tempo.
- Parafusos para madeira 40 x 1/2 "- Eu tinha cabeça redonda disponível para mim, mas recomendo o uso de tampo plano, se possível. Não acho que isso iria interferir na qualidade de construção, mas sinta-se à vontade para perguntar a alguém mais familiarizado com madeira primeiro.
- Sucata de madeira, cola de gorila, cola quente, solda, arame e tiras de comando (estilo velcro, 20 médios ou 10 grandes)
* Pretendo construir uma barra de som para tornar este projeto inteiramente "do zero", que substituirá o 9-13 acima. Espero atualizar este instrutível com isso até o final do verão.
Etapa 2: Prototipagem
Esta seção não é algo que você precisa concluir, mas quero mostrar como o projeto parecia à medida que avançava.
Aqui, eu colei LEDs no padrão de cobra e estava experimentando a difusão de luz por meio de um saco de lixo em camadas (eu recomendo fortemente isso como uma alternativa ao acrílico se você estiver tentando cortar custos. Embora você tenha que fazer isso anexá-lo de uma maneira diferente).
Uma configuração 10x10 funcionou para mim, mas você pode preferir 8x12 ou 7x14. Sinta-se à vontade para experimentar. Antes de ter meu aparelho de som, encontrei um amplificador e o conectei em minha placa de ensaio, e antes disso, eu reproduzia o áudio do meu laptop para o circuito para análise de áudio e simultaneamente batia "play" no meu telefone para ouvi-lo.
Eu sou um grande crente em medida duas vezes, corte uma vez. Portanto, faça o que fizer, siga esse guia e você estará pronto.
Etapa 3: Circuito + Código
O código está disponível no GitHub.
Placa de ensaio, solda em uma perfboard ou projete seu próprio PCB. O que funcionar melhor para você aqui, faça. Minha demonstração aqui está rodando em uma placa de ensaio, mas quando eu construir a barra de som, irei transferir tudo para um PCB. Para obter energia do adaptador, corte a extremidade fêmea e remova o isolamento preto. Retire o suficiente dos cabos reais para parafusá-los aos terminais do adaptador. Tenha sempre cuidado ao trabalhar com AC! Além disso, apenas algumas coisas a serem observadas aqui.
- Caminhos de terra Outra coisa é certificar-se de que seus caminhos de terra são bons. Você precisa do aterramento do adaptador para o Arduino para a entrada auxiliar, que também se conectará ao aterramento no receptor Logitech BT e, a partir daí, ao aterramento do estéreo. Se qualquer um deles for uma conexão quebrada ou ruim, você obterá uma entrada de áudio muito barulhenta e, portanto, uma tela muito barulhenta.
- Polarização de entrada de áudio O áudio reproduzido por cabo auxiliar, de seu telefone ou laptop ou qualquer outro lugar, será reproduzido de -2,2 a + 2,2V. O Arduino só é capaz de ler de 0 a + 5V, então você precisa polarizar a entrada de áudio. Isso pode ser feito de forma eficiente com amplificadores operacionais, mas se o consumo de energia não for um problema (talvez você tenha comprado uma fonte de alimentação de 240W?), Também pode ser feito com resistores e capacitores. Os valores que escolhi foram diferentes porque eu não tinha nenhum capacitor de 10uF disponível. Você pode brincar com o simulador para ver se o que você escolher funcionará.
- Transformadas de Fourier Qualquer projeto que usa transformadas de Fourier terá uma seção de fundo discutindo-as. Se você já tem experiência, ótimo! Se não, tudo que você precisa entender é que eles tiram um instantâneo de um sinal e retornam informações sobre quais frequências estão presentes naquele sinal naquele momento. Portanto, se você tomar a transformada de Fourier de sin (440 (2 * pi * t)), isso dirá que uma frequência de 440 Hz está presente em seu sinal. Se você tomou a transformada de Fourier de 7 * sin (440 (2 * pi * t)) + 5 * sin (2000 (2 * pi * t)), isso diria que ambos os sinais de 440 Hz e 2.000 Hz estão presentes, e os graus relativos em que estão presentes. Ele pode fazer isso para qualquer sinal com qualquer número de funções de componente. Como todo o áudio é apenas uma soma de sinusóides, podemos pegar a transformada de Fourier de um monte de instantâneos e ver o que realmente está acontecendo. Você verá no código que também aplicamos uma janela ao nosso sinal antes de obter o Fourier transformar. Mais sobre isso pode ser encontrado aqui, mas uma breve explicação é que o sinal que realmente acabamos dando à transformação é meio ruim, e o Windows conserta isso para nós. Seu código não será quebrado se você não os usar, mas a tela não parecerá tão limpa. Pode haver algoritmos melhores disponíveis (YAAPT, por exemplo), mas seguindo os princípios do KISS, optei por usar o que já estava disponível, que são várias bibliotecas Arduino bem escritas para Fast Fourier Transform, ou FFT.
- O Arduino pode realmente processar tudo em tempo real? Para que tudo apareça em tempo real, o Arduino precisa pegar 128 amostras, processar esse FFT, manipular os valores para a exibição e atualizar a exibição muito rapidamente. Se você quisesse uma precisão de 1/16 de nota a 150 bpm (perto do tempo final superior da maioria das músicas pop), você precisaria processar tudo em 100 mseg. Além disso, o olho humano pode ver a 30FPS, o que corresponde a comprimentos de quadro de 30mseg. Esta postagem do blog não me deu a maior confiança, mas decidi ver por mim mesmo se o Arduino aguentaria. Após meu próprio benchmarking, fiquei muito orgulhoso do meu R3. A fase de cálculo foi de longe o fator limitante, mas fui capaz de processar um FFT de 128 de UINT16s em apenas 70 mseg. Isso estava dentro das tolerâncias de áudio, mas mais do que o dobro da restrição visual. Em outras pesquisas, descobri o Arduino FHT, que aproveita a simetria da FFT e calcula apenas os valores reais. Em outras palavras, é cerca de 2x mais rápido. E com certeza, trouxe toda a velocidade do loop para ~ 30 mseg. Uma outra nota aqui na resolução da tela. Um comprimento N FFT amostrado em Fs Hz retorna N bins, onde o k-ésimo bin corresponde a k * Fs / N Hz. O Arduino ADC, que lê a entrada de áudio e coleta amostras, normalmente funciona a ~ 9,6 kHz. No entanto, o FFT só pode retornar informações sobre frequências de até 1/2 * Fs. Os humanos podem ouvir até 20kHz, portanto, o ideal é fazer a amostragem em> 40kHz. O ADC pode ser hackeado para funcionar um pouco mais rápido, mas longe disso. O melhor resultado que vi sem perder estabilidade foi em um ADC de 14kHz. Além disso, o maior FFT que pude processar para ainda obter um efeito em tempo real foi N = 128. Isso significa que cada bin representa ~ 109 Hz, o que é bom em frequências mais altas, mas ruim nas baixas. Um bom visualizador tenta reservar uma oitava para cada compasso, o que corresponde às separações em [16,35, 32,70, 65,41, 130,81, 261,63, 523,25, 1046,50, 2093,00, 4186,01] Hz. 109 Hz significa que as primeiras 2,5 oitavas estão todas em um compartimento. Ainda consegui obter um bom efeito visual, em parte tirando a média de cada balde, onde um balde é um grupo de compartimentos entre dois desses limites. Espero que isso não seja confuso e que o próprio código esclareça o que realmente está acontecendo, mas fique à vontade para perguntar abaixo se não faz sentido.
Etapa 4: Montagem
Como afirmei anteriormente, eu queria algo com qualidade de construção profissional. Originalmente, comecei a colar as ripas de madeira, mas um amigo (e engenheiro mecânico qualificado) sugeriu uma abordagem diferente. Observe que um 2x6 é realmente 1,5 "x 5". E tenha cuidado ao trabalhar com qualquer uma das máquinas abaixo.
- Pegue seu 2x6x8 e lixe, se necessário. Corte em seções de 2 "x 6" x 22 ". Isso dá a você duas ripas para" queimar "se você errar.
- Pegue cada seção de 22 "e passe-a ao longo de uma serra de mesa para fazer ripas de 1,5" x ~ 1,6 "x 22". O último terço pode ser difícil de cortar em uma serra de mesa, então você pode mudar para uma serra de fita. Apenas certifique-se de que tudo esteja o mais correto possível. Além disso, 1,6 "é um guia e pode ir até 1,75". As minhas peças eram assim, mas desde que sejam todas iguais, não importa muito. O fator limitante é o acrílico de 18 ".
- No final das peças, marque um formato de U com 1/8 "de cada lado e um pouco mais de 3/4" de profundidade. NOTA: Se você usar um acrílico diferente, a profundidade mudará. Com <3/4 ", meu acrílico não difunde a luz. Com um pouco mais, ele se difunde completamente. Você quer evitar qualquer" envoltório ". Achei este post Hackaday uma boa referência, mas conseguir a difusão perfeita é muito difícil!
- Com um roteador de mesa, corte o U do meio em toda a parte inferior da ripa. O 22 "é mais comprido do que você precisa, então não se preocupe em lascar as pontas. Os roteadores podem ser complicados, mas use um pouco mais largo do que a metade da largura do U e tenha cuidado ao cortar mais de 1 / 8 "de material por vez. Repita: não tente fazer tudo em 2 passagens. Você danificará a madeira e provavelmente se machucará. Trabalhe com a rotação da roteadora nos cortes 1-4 e contra ela nos cortes 5-8. Isso garante que você tenha o melhor controle sobre o torque do roteador.
- Corte a faixa de LED em seções de 30 LED (apenas cada conjunto de 3 LEDs é endereçável). Você provavelmente precisará dessoldar algumas das conexões. Coloque essas tiras ao longo dos trilhos. Um lado deve ficar nivelado e o outro deve ter um pouco de espaço para o receptáculo JST, que ficará nivelado. Infelizmente, não obtive uma imagem disso, mas consulte o diagrama em anexo. Marque o comprimento aqui, mas não corte nada ainda.
- Meça a largura de cada ripa. Com isso e o comprimento da etapa 7, corte a laser o acrílico nos 10 retângulos necessários. É melhor ser ligeiramente comprido do que ligeiramente curto. Se queimar, limpe-o com isopropil.
- Confirme se cada ripa de acrílico fica no mesmo comprimento que você marcou na etapa 5 e, em seguida, corte a ripa nesse comprimento.
- Agora você precisa de duas peças de ponte para prender o acrílico. Isso permite fácil manutenção de faixas de luz, caso surja alguma coisa. Essas peças devem ter aproximadamente [sua largura] - 2 * 1/8 "de comprimento com faces quadradas de 1/2", mas devem se ajustar um pouco apertadas. Com essas peças firmemente no lugar e alinhadas com a face frontal das ripas, faça furos no centro de cada ponte a partir da parte externa das ripas. Faça o seu melhor para tornar cada broca uniforme. Não mantenha as pontes aparafusadas, mas certifique-se de que podem ficar. Cuidado para não apertar demais o parafuso e quebrar a madeira.
- Neste ponto, pinte as ripas e aplique qualquer acabamento.
- Agora aparafuse as pontes. Certifique-se de que eles estão alinhados! Caso contrário, você precisará adicionar algum tipo de calço. Aplique cola gorila (preferencial) ou cola quente (que pode funcionar como um calço) nas pontes e prenda o acrílico. Não aplique nenhum adesivo ao longo da própria ripa.
- Solde os receptáculos JST em um lado de todas, exceto uma faixa de LED. Coloque todos na mesma extremidade indicada pelas setas marcadas. Solde os fios dos plugues JST nas outras extremidades. Você pode precisar descascar mais fios em cada conector. Certifique-se de que as conexões estejam corretas quando conectado! O adesivo na parte de trás dos LEDs é terrível, então não confie nele. Coloque os LEDs no trilho central e cole-os com cola de gorila, prestando atenção na direção indicada nas tiras. Lembre-se de que você está serpenteando a coisa toda.
- Na primeira lâmina, solde fios longos o suficiente para obter energia + aterramento do adaptador e o sinal do Arduino.
- Aparafuse as ripas e pontes de volta. Anexe tiras de comando na parte de trás (estilo velcro, 2 médios na parte superior e inferior ou 1 grande no centro). Faça todas as conexões necessárias e pendure na parede com aproximadamente 3 "de distância. Aproveite os frutos do seu trabalho.
Recomendado:
Retroiluminação RGB + Visualizador de áudio: 4 etapas (com imagens)
Retroiluminação RGB + Audio Visualizer: Bem-vindo ao meu Instructables sobre como construir uma retroiluminação RGB LED para, por exemplo, na parte de trás de sua TV ou mesa. O esquema em si é muito simples, pois as fitas de LED WS2812 são muito fáceis de fazer interface com, por exemplo, um Arduino Nano. Nota: que você não precisa de nós
Visualizador de áudio com faixa de LED RGB não endereçável: 6 etapas (com imagens)
Visualizador de áudio com faixa de LED RGB não endereçável: Há um tempo que há uma faixa de LED RGB de 12v em volta do gabinete da TV, ela é controlada por um driver de LED enfadonho que me permite escolher uma das 16 cores pré-programadas! muita música que me mantém motivado, mas a iluminação simplesmente não fixa
Visualizador de áudio conduzido de 7 bandas: 4 etapas (com imagens)
Visualizador de Áudio Led de 7 Bandas: Este é um projeto que pega um sinal analógico contínuo geralmente música e o usa para iluminar um visualizador de led de 7 bandas. Ele usa o chip MSGEQ7 para analisar o sinal de música para obter as magnitudes de frequência e mapeá-lo para as faixas de led. As tiras de Led
Como fazer um visualizador de áudio de frequência para uma fantasia (Projeto Arduino): 8 etapas (com imagens)
Como fazer um visualizador de áudio de frequência para uma fantasia (projeto Arduino): Neste exemplo, fornecerei dicas, planos e códigos para fazer um visualizador de áudio empolgante embutido em uma roupa de espuma de fibra de vidro. Ao longo do caminho, compartilharei etapas úteis e códigos extras que alguns desejam implementar bibliotecas FFT arduino em t
Visualizador de imagens digitais em 3D - "O DigiStereopticon": 6 etapas (com imagens)
Visualizador de imagens digitais em 3D - "O DigiStereopticon": a fotografia estereoscópica caiu em desuso. Isso provavelmente se deve ao fato de que as pessoas não gostam de ter que usar óculos especiais para ver fotos de família. Aqui está um pequeno projeto divertido que você pode fazer em menos de um dia para fazer sua imagem 3D