¿Cómo construir un analizador / sensor de espectro de audio?

1

Estoy diseñando un controlador inteligente de tira RGB LED basado en una Raspberry Pi y una Ardunio. Ardunio controlaría la tira de LED y otros LED conectados a un registro de desplazamiento, mientras que el RPi administraría entradas y una pantalla y sería el maestro I2C del Ardunio.

Una de las características planeadas es una especie de 'disco light' : la tira RGB cambiaría de color según la entrada de Frecuencia / Espectral (es decir, brillo azul ~ bajos, verde ~ agudos, rojo ~ alto). Hay soluciones bastante obvias para esto usando transistores / mosfets, pero quiero tener un software de control sobre los colores. Lo que necesitaría es algún tipo de sensor de espectro de audio:

Opción 1: un circuito o microchip que de alguna manera analiza / interactúa con la entrada de audio (por supuesto, sin distorsionarla) y emite una señal de voltaje analógica (preferiblemente de 3-5) para diferentes frecuencias Rangos en cuanto a su sonoridad

Opción 2: un IC diseñado / utilizable para este propósito: analiza el espectro de entrada del audio de entrada y envía los datos de ancho de banda a Ardunio por SPI.

Opción 3 : una forma de utilizar el Atmega328 para el análisis. El proceso no debe ser lento o "costoso para el procesador", ya que tengo otras cosas que hacer con el Ardunio.

El problema está conmigo; No tengo experiencia con circuitos analógicos, y menos aún con circuitos de audio, y honestamente no tengo idea de cómo resolver esto. El buen chico Google tampoco me ayudó esta vez, así que pido tu ayuda.

¿Conoces algún chip o un circuito (considerando mi experiencia analógica cercana a cero, preferiblemente lo más simple posible) que se ajuste a una de estas descripciones?

Hay un plan general de la 'parte de disco':

    
pregunta Neinstein

1 respuesta

5

Hay tres formas de hacer esto.

  1. El método analógico. Mediante el uso de amplificadores operacionales o amplificadores discretos hechos de transistores y filtros de paso de banda discretos hechos de resistores y condensadores, puede crear un órgano de color de tres canales. No es necesario un microcontrolador ni Arduino.

  • El método de software. Mediante el uso de los algoritmos FFT (Fast Fourier Transform), puede detectar frecuencias arbitrarias en una señal, y usarla para proporcionar la señal LED. Funciona completamente en tu microcontrolador. Dependiendo de la biblioteca que use, es posible que necesite una más robusta, pero hay algunas que se ejecutan en MCU de muy bajo consumo.
  • ATMega8 FFT + LCD (Menos potente que ATMega328 de Arduino Uno): enlace

    1. El método de pagar a alguien para hacerlo. Usted descarga la FFT en otro chip. El MSGEQ7 y sus chips hermanos harán la FFT y multiplexarán los datos. El LM3914 / 5/6 de Old school National Semi (ahora TI) se puede proporcionar con un medidor VU simple con tiras de LED, y con filtros de paso de banda también podría hacer frecuencias. El TI LM4970 analizará el audio y controlará los LED directamente, o con un LED de transistor, pero se puede configurar a través de i2c.

    LM3916: enlace

    LM4970: enlace

        
    respondido por el Passerby

    Lea otras preguntas en las etiquetas