Índice:

Fonte Dançante: Arduino com analisador de espectro MSGEQ7: 8 etapas
Fonte Dançante: Arduino com analisador de espectro MSGEQ7: 8 etapas

Vídeo: Fonte Dançante: Arduino com analisador de espectro MSGEQ7: 8 etapas

Vídeo: Fonte Dançante: Arduino com analisador de espectro MSGEQ7: 8 etapas
Vídeo: ANÁLISE DE ESPECTRO NA PRÁTICA | Conheça Eletrônica! #173 2024, Julho
Anonim
Fonte Dançante: Arduino com analisador de espectro MSGEQ7
Fonte Dançante: Arduino com analisador de espectro MSGEQ7

A recepção de um sinal de áudio e sua conversão em reação visual ou mecânica é muito interessante. Neste projeto, usaremos um Arduino Mega para ser conectado a um analisador de espectro MSGEQ7 que pega o sinal de áudio de entrada e realiza a filtragem de passa-banda nele para dividi-lo em 7 bandas de frequência principais. O Arduino irá então analisar o sinal analógico de cada banda de frequência e criar uma ação.

Etapa 1: Objetivos do Projeto

Este projeto irá discutir 3 modos de operação:

  1. LEDs são conectados a pinos digitais PWM para reagir às bandas de frequência
  2. LEDs são conectados a pinos digitais para reagir às bandas de frequência
  3. As bombas são conectadas ao Arduino Mega por meio de drivers de motor e reagem às bandas de frequência

Etapa 2: Teoria

Teoria
Teoria
Teoria
Teoria

Se falarmos sobre o MSGEQ7 Spectrum Analyzer IC, podemos dizer que ele tem 7 filtros passa-banda internos que dividem o sinal de áudio de entrada em 7 bandas principais: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz e 16 kHz.

A saída de cada filtro é escolhida para ser a saída do IC usando um multiplexador. Esse multiplexador possui linhas de seletores controladas por um contador binário interno. Portanto, podemos dizer que o contador deve contar de 0 a 6 (000 a 110 em binário) para permitir a passagem de uma banda de cada vez. Isso deixa claro que o código do Arduino deve ser capaz de zerar o contador assim que atingir a contagem 7.

Se dermos uma olhada no diagrama de circuito do MSGEQ7, podemos ver que usamos o sintonizador de frequência RC para controlar o relógio interno do oscilador. em seguida, usamos a filtragem de elementos RC na porta do sinal de áudio de entrada.

Etapa 3: Procedimentos

Procedimentos
Procedimentos

De acordo com a página fonte (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html), podemos ver que o código fonte trata as saídas como sinais PWM que são repetitivos. podemos alterar algumas das linhas de código para atender aos nossos objetivos.

Podemos notar que, se tivermos um conector estéreo, podemos dobrar o resistor de entrada e o capacitor para o segundo canal. Nós alimentamos o MSGEQ7 a partir do Arduino VCC (5 volts) e GND. Devemos conectar o MSGEQ7 à placa Arduino. Prefiro usar o Arduino Mega, pois possui pinos PWM adequados para o projeto. A saída do IC MSGEQ7 é conectada ao pino analógico A0, o STROBE é conectado ao pino 2 do Arduino Mega e o RESET é conectado ao pino 3.

Etapa 4: Modos de operação: 1- LEDs como saídas digitais PWM

Modos de operação: 1- LEDs como saídas digitais PWM
Modos de operação: 1- LEDs como saídas digitais PWM

De acordo com o código-fonte, podemos conectar os LEDs de saída aos pinos 4 a 10

const int LED_pins [7] = {4, 5, 6, 7, 8, 9, 10};

Então podemos notar que os LEDs dançam de acordo com a intensidade de cada banda de frequência.

Etapa 5: Modos de operação: 2- LEDs como saídas digitais

Image
Image
Modos de operação: 3- Bombas como saídas digitais
Modos de operação: 3- Bombas como saídas digitais

Podemos conectar os LEDs de saída a qualquer pino digital.

const int LED_pins [7] = {40, 42, 44, 46, 48, 50, 52};

Então, podemos notar que os LEDs piscam de acordo com a intensidade de cada banda de frequência.

Etapa 6: Modos de operação: 3- Bombas como saídas digitais

Modos de operação: 3- Bombas como saídas digitais
Modos de operação: 3- Bombas como saídas digitais

Neste último modo, devemos conectar o módulo driver do motor L298N às saídas do Arduino. isso nos permite controlar a operação da bomba com base na saída do analisador de espectro MSGEQ7.

Como é sabido, os drivers do motor nos permitem controlar a operação dos motores ou bombas conectados com base no sinal gerado pelo Arduino sem drenar nenhuma corrente do Arduino, em vez disso, eles alimentam os motores diretamente da fonte de alimentação conectada.

Se executarmos o código como fonte bruta, as bombas podem não funcionar corretamente. Isso ocorre porque o sinal PWM está baixo e não será adequado para o acionador do motor operar os motores ou bombas e fornecer uma corrente adequada. É por isso que recomendo aumentar o valor de PWM multiplicando as leituras analógicas de A0 com fator maior que 1,3. Isso ajuda o mapeamento a ser adequado para o driver do motor. Eu recomendo 1,4 a 1,6. Também podemos remapear o PWM para 50 a 255 para ter certeza de que o valor do PWM será adequado.

Podemos conectar os LEDs junto com as saídas para os drivers do motor, mas os LEDs não piscarão de forma bem visível como antes, pois os valores de PWM foram aumentados. Portanto, sugiro mantê-los conectados aos pinos digitais de 40 a 52.

Etapa 7: Contatos

Fico feliz em ouvir feedbacks seus. Por favor, não hesite em juntar-se aos meus canais em:

YouTube:

Instagram: @ Simplydigital010

Twitter: @ Simply01Digital

Recomendado: