Índice:

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: 6 etapas (com imagens)

Vídeo: Visualizador de áudio com faixa de LED RGB não endereçável: 6 etapas (com imagens)

Vídeo: Visualizador de áudio com faixa de LED RGB não endereçável: 6 etapas (com imagens)
Vídeo: Conheça 2 Maneiras de Controlar FITAS LED RGB por APP e por VOZ (Alexa) - Fácil, Simples e Barato! 2024, Novembro
Anonim
Image
Image

Eu tive uma faixa de LED RGB 12v em volta do gabinete da minha TV por um tempo e ela é controlada por um driver de LED chato que me permite escolher uma das 16 cores pré-programadas!

Eu ouço muita música que me mantém motivado, mas a iluminação simplesmente não define o clima certo. Para consertar isso decidi pegar o sinal de áudio que foi dado ao meu alto-falante através do AUX (conector de 3,5 mm), processar e controlar a faixa RGB de acordo.

Os LEDs reagem à música com base na magnitude das frequências graves (baixas), agudas (médias) e altas.

A faixa de frequência - a cor é a seguinte:

Baixo - Vermelho

Médio - Verde

Alto - Azul

Este projeto envolve muitas coisas DIY porque todo o circuito foi construído do zero. Isso deve ser muito fácil se você estiver configurando em uma placa de ensaio, mas bastante desafiador soldá-lo em uma placa de circuito impresso.

Suprimentos

(x1) Faixa LED RGB

(x1) Arduino Uno / Nano (Mega é recomendado)

(x1) TL072 ou TL082 (TL081 / TL071 também são adequados)

(x3) TIP120 NPN Transistor (TIP121, TIP122 ou MOSFETs N-Channel como IRF540, IRF 530 também são adequados)

(x1) potenciômetro linear de 10kOhm

(x3) resistores de 1/4 watt de 100kOhm

(x1) capacitor eletrolítico de 10uF

(x1) capacitor de cerâmica 47nF

(x2) Conector de áudio de 3,5 mm - Fêmea

(x2) bateria de 9V

(x2) conector de encaixe de bateria de 9 V

Etapa 1: Compreendendo os tipos de fitas de LED RGB

Compreendendo os tipos de fitas de LED RGB
Compreendendo os tipos de fitas de LED RGB

Existem dois tipos básicos de faixas de LED, o tipo "analógico" e o tipo "digital".

As tiras do tipo analógico (fig. 1) têm todos os LEDs conectados em paralelo e, portanto, funcionam como um grande LED tricolor; você pode definir a faixa inteira com qualquer cor desejada, mas não pode controlar as cores individuais dos LEDs. Eles são muito fáceis de usar e relativamente baratos.

As tiras do tipo digital (fig. 2) funcionam de maneira diferente. Eles têm um chip para cada LED, para usar a faixa você tem que enviar dados codificados digitalmente para os chips. No entanto, isso significa que você pode controlar cada LED individualmente! Devido à complexidade extra do chip, eles são mais caros.

Se você está achando difícil identificar fisicamente as diferenças entre as tiras analógicas e digitais,

  1. O tipo anolog usa 4 pinos, 1 positivo comum e 3 negativos, ou seja, um para cada cor de RGB.
  2. O tipo digital usa 3 pinos, positivo, dados e terra.

Vou usar as tiras do tipo analógico, porque

  1. Existem muito poucos ou nenhum Instructables que ensinam como fazer uma faixa do tipo analógica reativa à música. A maioria deles se concentra no tipo digital e é mais fácil fazê-los reagir à música.
  2. Eu tinha algumas tiras do tipo analógico espalhadas.

Etapa 2: amplificando o sinal de áudio

Amplificando o sinal de áudio
Amplificando o sinal de áudio
Amplificando o sinal de áudio
Amplificando o sinal de áudio
Amplificando o sinal de áudio
Amplificando o sinal de áudio

O sinal de áudio enviado pela entrada de áudio é

um sinal analógico que oscila entre + 200mV e -200mV. Agora, isso é um problema é que queremos medir o sinal de áudio com uma das entradas analógicas do Arduino porque as entradas analógicas do Arduino só podem medir tensões entre 0 e 5V. Se tentássemos medir as tensões negativas no sinal de áudio de, o Arduino iria ler apenas 0 V e acabaríamos cortando a parte inferior do sinal.

Para resolver isso, temos que amplificar e compensar os sinais de áudio para que fiquem dentro de uma faixa de 0-5V. Idealmente, o sinal deve ter uma amplitude de 2,5 V que oscila em torno de 2,5 V, de forma que sua tensão mínima seja 0 V e sua tensão máxima seja 5 V.

Amplificação

O amplificador é a primeira etapa do circuito, ele aumenta a amplitude do sinal de cerca de + ou - 200mV para + ou - 2,5V (idealmente). A outra função do amplificador é proteger a fonte de áudio (o que está gerando o sinal de áudio em primeiro lugar) do resto do circuito. O sinal amplificado de saída fornecerá toda a sua corrente do amplificador, de modo que qualquer carga colocada nele posteriormente no circuito não será "sentida" pela fonte de áudio (o telefone / iPod / laptop no meu caso). Faça isso configurando um dos amplificadores operacionais no pacote TL072 ou TL082 (fig. 2) em uma configuração de amplificador não inversor.

O datasheet do TL072 ou TL082 diz que ele deve ser alimentado com +15 e -15V, mas como o sinal nunca será amplificado acima de + ou - 2,5V está certo rodar o op-amp com algo mais baixo. Usei duas baterias de nove volts conectadas em série para criar uma fonte de alimentação de + ou - 9V.

Conecte seu + V (pino 8) e –V (pino 4) ao amplificador operacional. Conecte o sinal do conector mono à entrada não inversora (pino 3) e conecte o pino de aterramento do conector à referência de 0 V em sua fonte de tensão (para mim, essa era a junção entre as duas baterias de 9 V em série). Conecte um resistor de 100kOhm entre a saída (pino 1) e a entrada inversora (pino 2) do amplificador operacional. Neste circuito, usei um potenciômetro de 10kOhm conectado como um resistor variável para ajustar o ganho (a quantidade que o amplificador amplifica) do meu amplificador não inversor. Conecte este potenciômetro cônico linear de 10K entre a entrada inversora e a referência de 0V.

DC Offset

O circuito DC offset tem dois componentes principais: um divisor de tensão e um capacitor. O divisor de tensão é feito de dois resistores de 100k conectados em série da fonte de 5 V do Arduino ao aterramento. Como os resistores têm a mesma resistência, a tensão na junção entre eles é igual a 2,5 V. Esta junção de 2,5 V está ligada à saída do amplificador por meio de um capacitor de 10uF. Conforme a tensão no lado do amplificador do capacitor aumenta e diminui, ela faz com que a carga se acumule momentaneamente e se repele do lado do capacitor conectado à junção de 2,5 V. Isso faz com que a tensão na junção de 2,5 V oscile para cima e para baixo, centralizada em torno de 2,5 V.

Conforme mostrado no esquema, conecte o terminal negativo de um capacitor de 10uF à saída do amplificador. Conecte o outro lado da tampa à junção entre dois resistores de 100k conectados em série entre 5 V e o terra. Além disso, adicione um capacitor 47nF de 2,5 V ao aterramento.

Etapa 3: Decompondo o sinal em uma soma de sinusóides estacionários - teoria

Decompondo o sinal em uma soma de sinusóides estacionários - Teoria
Decompondo o sinal em uma soma de sinusóides estacionários - Teoria

O sinal de áudio enviado por qualquer conector de 3,5 mm está no

faixa de 20 Hz a 20 kHz. É amostrado a 44,1 kHz e cada amostra é codificada em 16 bits.

Para desconstruir as frequências elementares básicas que compõem o sinal de áudio, aplicamos a transformada de Fourier ao sinal, que decompõe o sinal em uma soma de sinusóides estacionários. Em outras palavras, a análise de Fourier converte um sinal de seu domínio original (geralmente tempo ou espaço) em uma representação no domínio da frequência e vice-versa. Mas computá-lo diretamente da definição costuma ser lento demais para ser prático.

As figuras mostram como o sinal se parece no domínio do tempo e da frequência.

É aqui que o algoritmo Fast Fourier Transform (FFT) é bastante útil!

Por definição, Um FFT calcula rapidamente essas transformações fatorando a matriz DFT em um produto de fatores esparsos (principalmente zero). Como resultado, consegue reduzir a complexidade do cálculo da DFT de O (N2), que surge se alguém simplesmente aplicar a definição de DFT, a O (N log N), onde N é o tamanho dos dados. A diferença na velocidade pode ser enorme, especialmente para longos conjuntos de dados onde N pode estar na casa dos milhares ou milhões. Na presença de erro de arredondamento, muitos algoritmos FFT são muito mais precisos do que avaliar a definição DFT direta ou indiretamente.

Em termos simples, significa apenas que o algoritmo FFT é uma maneira mais rápida de calcular a transformada de Fourier de qualquer sinal. Isso geralmente é usado em dispositivos com baixo poder de computação.

Recomendado: