ANALISADOR DE ESPECTRO CRAZY L.O.L: 6 etapas (com fotos)
ANALISADOR DE ESPECTRO CRAZY L.O.L: 6 etapas (com fotos)

Vídeo: ANALISADOR DE ESPECTRO CRAZY L.O.L: 6 etapas (com fotos)

Vídeo: ANALISADOR DE ESPECTRO CRAZY L.O.L: 6 etapas (com fotos)
Vídeo: Vumetro Funcionando 2025, Janeiro
Anonim
ANALISADOR DE ESPECTRO CRAZY L. O. L
ANALISADOR DE ESPECTRO CRAZY L. O. L
ANALISADOR DE ESPECTRO CRAZY L. O. L
ANALISADOR DE ESPECTRO CRAZY L. O. L

Hoje eu gostaria de compartilhar como fazer um analisador de espectro de áudio - 36 bandas combinando 4 LoL Shields juntos. Este projeto louco usa uma biblioteca FFT para analisar um sinal de áudio estéreo, convertê-lo em bandas de frequência e exibir a amplitude dessas bandas de frequência em 4 x LoL Shields.

Antes de começar, assista ao vídeo abaixo:

Etapa 1: COISAS DE QUE PRECISAMOS

Os principais componentes eletrônicos são os seguintes:

  • 4pcs x Arduino Uno R3.
  • 4pcs x LoLShield PCB. PCBWay (serviço de protótipo de PCB personalizado com recursos completos) me deu suporte a essas placas de circuito impresso LoLShield.
  • 504pcs x LED, 3mm. Cada LoLShield precisa de 126 LEDs e podemos escolher 4 cores e tipos diferentes de LED (difuso ou não difuso).
  • 1pcs x Bateria do banco de energia do carregador portátil 10000 / 20000mAh.
  • 4pcs x Cabeçalho Masculino 40pin 2,54mm.
  • Cabo 2pcs x USB tipo A / B. Um é usado para a programação do Arduino, o outro é para alimentar o Arduino a partir de um banco de energia.
  • Conector de áudio estéreo feminino de 1pcs x 3,5 mm.
  • 1pcs x 3.5mm Adaptador de divisor de áudio de 1 macho para 2 fêmeas ou divisor de áudio de múltiplos fones de ouvido.
  • Cabo conector macho-macho para tomada de áudio estéreo de 1pcs x 3,5 mm.
Imagem
Imagem
  • Cabo de fita arco-íris de 1m x 8P.
  • Cabo de alimentação de 1m x dois núcleos.
  • 1pcs x Acrílico Transparente, tamanho A4.

Etapa 2: ESQUEMA

ESQUEMA
ESQUEMA

O LoLShield é uma matriz de LED charlieplexing 9x14 para o Arduino e este projeto NÃO inclui resistores limitadores de corrente. Os LEDs são endereçáveis individualmente, portanto, podemos usá-los para exibir informações em uma matriz de LEDs de 9 × 14.

O LoL Shield deixa D0 (Rx), D1 (Tx) e os pinos analógicos A0 a A5 livres para outras aplicações. A imagem abaixo mostra o uso de pinos do Arduino Uno para este projeto:

Imagem
Imagem

Meu analisador de espectro de áudio tem 4 x (Arduino Uno + LoLShield). A fonte de alimentação e o conector de áudio estéreo de 3,5 mm são conectados conforme o esquema abaixo:

Imagem
Imagem

Etapa 3: LOL SHIELD PCB & SOLDAGEM DE LED

1. LoL SHIELD PCB

Ѽ. Você pode consultar o design de PCB em: https://github.com/jprodgers/LoLshield de Jimmie P. Rodgers.

Imagem
Imagem

Ѽ. A PCBWay me apoiou essas placas de circuito impresso LoLShield com entrega rápida e PCB de alta qualidade.

Imagem
Imagem

2. SOLDAGEM DE LED

Ѽ. Cada LoLShield precisa de 126 leds e usei diferentes tipos e cores para 4x LoLShields da seguinte forma:

  • 1 x LoLShield: led difuso, cor vermelha, 3mm.
  • 1 x LoLShield: led difuso, cor verde, 3mm.
  • 2 x LoLShield: led não difuso (transparente), cor azul, 3mm.

Ѽ. Preparando LoLShield PCB e LED

Imagem
Imagem

Ѽ. Soldando 126 LED em LoLShield PCB. Devemos verificar os LEDs por bateria após soldar cada linha - 14 LEDs

TOP LoLSHIELD

Imagem
Imagem

BOTTOM LoLSHIELD

Imagem
Imagem

Ѽ. Terminar um LoLShield e continuar a soldar os 3 LoLShield restantes.

Imagem
Imagem

Etapa 4: CONEXÃO E MONTAGEM

Ѽ. Fonte de alimentação de solda e sinal de áudio para 4xLoLShield. Um sinal estéreo usa dois canais de áudio: esquerdo e direito, que são conectados ao Arduino Uno nos pinos analógicos A4 e A5.

  • A4: Canal de áudio esquerdo.
  • A5: Canal de áudio direito.
Imagem
Imagem

Ѽ. Alinhando e montando 4 x Arduino Uno na placa de acrílico.

Imagem
Imagem

Ѽ. Conectando 4 x LoLShield em 4 x Arduino Uno.

Imagem
Imagem

Ѽ. Cole o carregador portátil e o conector de áudio na placa de acrílico

Imagem
Imagem

Ѽ. Feito!

Imagem
Imagem

Etapa 5: PROGRAMAÇÃO

Você deve consultar como LoLShield funciona com base no método Charlieplexing e Fast Fourier Transform (FFT) em:

en.wikipedia.org/wiki/Charlieplexing

github.com/kosme/fix_fft

Para o Charlieplexing, prestamos atenção aos "três estados" dos pinos digitais do Arduino: "HIGH" (5V), "LOW" (0V) e "INPUT". O modo "INPUT" coloca o pino do Arduino no estado de alta impedância. Referência em:

www.arduino.cc/en/Tutorial/DigitalPins

No meu projeto, as bandas de frequência de áudio são exibidas em 4 x LoL Shield e são descritas conforme mostrado abaixo:

Imagem
Imagem

Cada Arduino lê o sinal de áudio no canal esquerdo / direito e executa o FFT.

para (i = 0; i <64; i ++) {Audio_Input = analogRead (RIGHT_CHANNEL); // Lê o sinal de áudio no canal direito A5 - ARDUINO 1 e 2 // Audio_Input = analogRead (LEFT_CHANNEL); // Lê o sinal de áudio no canal esquerdo A4 - ARDUINO 3 e 4 Real_Number = Audio_Input; Imaginary_Number = 0; } fix_fft (Real_Number, Imaginary_Number, 6, 0); // Realiza a transformação Fast Fourier com N_WAVE = 6 (2 ^ 6 = 64) para (i = 0; i <32; i ++) {Real_Number = 2 * sqrt (Real_Number * Real_Number + Imaginary_Number * Imaginary_Number ); }

Ѽ. Arduino 1 - Exibe as bandas de frequência de amplitude 01 ~ 09 do canal direito (A5).

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [y]) // Exibir bandas de frequência 01 a 09 {LedSign:: Set (13-x, 8-y, 1); // LED ON} else {LedSign:: Set (13-x, 8-y, 0); // LED OFF}}}

Ѽ. Arduino 2 - Exibe as bandas de frequência de amplitude 10 ~ 18 do canal direito (A5).

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [9 + y]) // Exibe as bandas de frequência 10 a 18 {LedSign:: Conjunto (13-x, 8-y, 1); // LED ON} else {LedSign:: Set (13-x, 8-y, 0); // LED OFF}}}

Ѽ. Arduino 3 - Exibe as bandas de frequência de amplitude 01 ~ 09 do canal esquerdo (A4).

O código é o mesmo do Arduino 1 e o canal esquerdo do sinal de áudio conecta-se ao Arduino no pino analógico A4.

Ѽ. Arduino 4 - Exibe as bandas de frequência de amplitude 10 ~ 18 do canal esquerdo.

O código é o mesmo do Arduino 2 e o canal esquerdo do sinal de áudio conecta-se ao Arduino no pino analógico A4.

Etapa 6: TERMINAR

FINALIZAR
FINALIZAR
FINALIZAR
FINALIZAR
FINALIZAR
FINALIZAR
FINALIZAR
FINALIZAR

Este analisador de espectro portátil pode ser conectado diretamente a um laptop / desktop, telefone celular, tablet ou outros reprodutores de música por meio do conector de áudio estéreo de 3,5 mm. Esse projeto parece maluco, espero que gostem!

Obrigado pela sua leitura !!!