Índice:

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 2024, Novembro
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 !!!

Recomendado: