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

Retroiluminação RGB + Visualizador de Áudio MSGEQ7

Componentes e suprimentos

Arduino Nano R3
× 1
Faixa LED endereçável Digilent WS2812
× 1
MSGEQ7
Equalizador gráfico de sete bandas para análise de espectro de áudio
× 1
Fonte de alimentação chaveada Digilent 5V 2.5A
× 1

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


Esta é uma importação do meu Instructables original ( clique aqui )

Bem-vindo ao meu tutorial sobre como construir uma luz de fundo LED RGB por ex. na parte de trás da sua TV ou mesa.

O esquema em si é muito simples, uma vez que as tiras de LED WS2812 são muito fáceis de interagir com, por exemplo, um Arduino Nano .

Nota: que você não precisa usar o circuito analisador de áudio MSGEQ7 adicional se quiser apenas a luz de fundo LED sem visualização de áudio.

Eu forneci uma lista detalhada das peças usadas e onde você pode comprá-los:
  • Arduino Nano / Uno (Amazon / AliExpress)
  • Faixa LED WS2812 RGB (Amazon / AliExpress), observe que IP significa proteção (por exemplo, à prova d'água se você precisar) e o número significa quantos LEDs por medidor a tira possui (importante para fonte de alimentação)
  • Fonte de alimentação 5V (Amazon) (depende de quantos LEDs tira) -> cada LED leva ~ 20mA, a tira usada neste tutorial tem 45 LEDs (30 por medidor), então eu preciso de 45 * 20mA ~ 1, 5Ampere de suprimento (Arduino, MSGEQ7 precisa de alguns também), conectei uma fonte de alimentação que fornece 3A, que é definitivamente o suficiente para nós agora
  • Entrada de áudio de 3,5 mm (Amazon / AliExpress)
  • Potenciômetro 10kOhm (Amazon / AliExpress)
  • Botão de ação (Amazon / AliExpress)
  • Resistor (1x 10kOhm, 1x 220Ohm, para MSGEQ7:2x100kOhm)
  • Capacitores (1x 1000yF eletrolítico (Amazon / AliExpress), 2x 10nF, para MSGEQ7:2x 0,1yF, 1x33pF (Amazon / AliExpress)
  • Diodo Simples (Amazon / AliExpress)
  • DC Jack (Amazon / AliExpress)





Suprimentos:





Etapa 1:construir o esquema


Esquema Principal:

Portanto, fazer a interface do WS2812 Strip com um Arduino é bastante simples usando a biblioteca Adafruit_NeoPixel.

A faixa de LED possui 3 pinos: VCC, DATA, GND . VCC está conectado a 5V, GND ao aterramento e o pino de dados no meio está conectado ao LED_DATA Pin D6 no Arduino. Agora, cada LED na tira tem um chip WS2812 que recebe os dados que recebe do Arduino e os passa para o próximo LED, portanto, só precisamos alimentar os dados do Led uma vez para o primeiro LED na tira.

A lógica do botão de pressão para alterar os modos e do potenciômetro para controlar o brilho é explicada na próxima etapa.

O esquema exato pode ser encontrado na captura de tela do arquivo fritzing, que também está disponível para download.

Nota que é muito importante para apenas conectar o pino de 5 V do Arduino à fonte de alimentação por meio do diodo , para que o Arduino não seja danificado se conectarmos o cabo USB para programá-lo. O 10nF e 1000uF também é por razões de segurança, para que não haja falta de energia.

Para o circuito MSGEQ7 :

Este é o circuito mais comum para conectar um MSGEQ7 a um Arduino. Aqui também é onde você precisa do conector de áudio de 3,5 mm . O pino do meio da maioria dos conectores de áudio é GND, os pinos à esquerda / direita são os canais estéreo que se conectam por meio de um capacitor de 10nF ao pino de entrada de sinal do MSGEQ7 conforme mostrado no esquema. Você também pode adicionar um potenciômetro ao pino de entrada de sinal para controlar a sensibilidade do sinal de áudio, mas realmente não é necessário. O MSGEQ7 está conectado ao Arduino com pino de saída analógica conectado a A1 (MSGEQ_OUT), Estroboscópio Fixar em D2 (STROBE), Reiniciar Fixar em D5 (REDEFINIR).
rgb_controller.fzz





Etapa 2:o código


GitHub Link para o esboço completo :RGBStripe_Control_WS2812

Notas sobre o código:

No código, declaramos o objeto WS2812 Strip com um novo objeto Adafruit_NeoPixel, passando o número de Leds ( alterar NUM_LEDS para sua configuração ), o pino do Arduino conectado ao pino LED_DATA e o tipo de codificação + velocidade de transmissão dos valores de cor.

Depois de fazer isso, definimos o brilho padrão na configuração () via setBrightness (0-255) e ligue o Strip com begin () . Agora podemos definir cada pixel / LED individual para uma cor RGB específica com setPixel (LED, cor) . Quando terminarmos de definir todos os LEDs para novos valores, atualizamos a faixa com strip.show () . Isso é basicamente toda a lógica do código de que precisamos para programar qualquer animação que quisermos. Agora, para realmente controlar as animações / modos, adicionamos um botão de ação / Troca tátil para o Arduino. Portanto, conectamos uma extremidade do botão ao VCC e a outra ao Arduino Pin D3 e com um resistor de 10kOhm para GND. Anexamos uma interrupção a este PIN na configuração () , que aciona uma chamada para o changeMode () método cada vez que pressionamos o botão. Em changeMode () simplesmente alternamos para o próximo modo e diga à animação atual para interromper. Quando isso acontecer, o loop () será executado novamente e reproduzirá a nova Animação / Modo.

As animações fornecidas incluem:desbotamento da cor do arco-íris, vermelho, verde, azul, cor branca, modo analisador de música

Além disso, adicionei um Potenciômetro de 10kOhm para controlar o brilho da Faixa . o método checkBrightness () verifica a saída do potenciômetro conectado ao pino A2 (pino do meio do potenciômetro) e atualiza o brilho da tira de acordo.

Para o modo musicAnalyzer () via MSGEQ7:

Este modo visualiza o sinal de áudio conectado ao Signal In do MSGEQ7. O MSGEQ emite um sinal analógico apresentando uma única banda de áudio (8 bandas, de frequências baixas a altas). O musicAnalyzer () método obtém os valores atuais das bandas de áudio redefinindo o MSGEQ e, em seguida, armazenando em buffer os valores analógicos fornecidos. A banda que está sendo emitida pode ser alterada colocando um flanco alto no pino estroboscópico. Depois que todas as 8 bandas foram armazenadas em buffer, o método desloca todos os valores de pixel do LED um para trás e calcula o novo valor para o LED 0 . A cor é composta por: cor vermelha de baixa frequência (graves), cor verde de média frequência e azul de alta frequência. A mudança do valor antes de carregar o novo valor nos dá uma boa animação com temporização suave.





Etapa 3:configurar áudio no PC


Para obter sua música / áudio alimentado no MSGEQ7, mas ainda com sua música tocando em seus alto-falantes, você deve usar o recurso RealtekHD Stereomix ou conectar a entrada de áudio MSGEQ a, por exemplo, saída do alto-falante traseiro de sua placa de som / placa-mãe.

Para habilitar o Stereomix no Win10, clique com o botão direito no ícone do alto-falante no canto inferior direito e clique em "Sons", aqui você pode ativar o Stereomix na guia "Gravação" (clique com o botão direito -> ativar). Se o Stereomix não estiver visível, clique com o botão direito e escolha "Mostrar dispositivos desativados". Agora abra as configurações do Stereomix e diga a ele para ouvir e copiar o áudio de seus alto-falantes principais.

Se você quiser usar a saída do alto-falante traseiro, abra as configurações de seu alto-falante principal no menu "Sons", guia "Melhorias" e selecione "Ambiente" na lista e escolha "Sala" no menu suspenso abaixo.

Isso agora ativa a saída de áudio paralela de seus alto-falantes e do MSGEQ7.





Etapa 4:notas


Como o esquema não é tão complicado nem grande em tamanho, consegui colocar todo o circuito em uma caixinha com orifícios para o conector USB, conector de áudio, conector de CC, potenciômetro e botão de pressão. Você pode simplesmente usar conectores de pino macho / fêmea e conectar os 3 cabos à faixa WS2812 por meio de cabos Jumper.

Código

Download do Arduino Sketch
https://github.com/PhilKes/RGBStripe_Control_WS2812

Esquemas

Diagrama esquemático para conectar o Arduino à tira WS2812 com controle de brilho por meio do potenciômetro O esquema fvwp3zyjs5c4z851_12HuWgZiDT.fzzStandalone MSGEQ7 é usado apenas para o modo de visualização de áudio
Conecte a entrada de sinal ao canal esquerdo / direito do conector de áudio de 3,5 mm e os outros pinos de controle, conforme mostrado no outro esquema

Processo de manufatura

  1. Sensor de luz pulsada
  2. DIY LUMAZOID Arduino Music Visualiser
  3. Detector de frequência de áudio
  4. Arduino com Bluetooth para controlar um LED!
  5. Tocar áudio no Arduino
  6. Arduino Quadruped
  7. Arduino RGB Color Mixer
  8. Faça você mesmo Arduino RADIONICS Tratamento MMachine
  9. DMX RGB LED externo
  10. Jogo de roleta LED