Skip to content

A seven band spectrum analyzer used to light a led matrix given an audio signal.

Notifications You must be signed in to change notification settings

mattiaVDM/LEDSpectrumAnalyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

LEDSpectrumAnalyzer

This project is a seven band spectrum analyzer used to drive a LED Matrix given an audio signal. The code is running on an Arduino Nano and the audio processing is done by an MSGEQ7 module, the board can be controlled via Bluetooth with a simple Android App.

SpectrumAnalyzer.mp4

How does it work?

The audio input signal is passed to an MSGEQ7 module which has seven pass-band filters, the module outputs the amplitude for each band of frequencies. The arduino controls three different LED strips using FASTLed libraries: the corner, the center, the little DOT in the bottom of the frame.

Corner led strip

The corner led strip ligths the led based on different animation designed to be visually captivating. The animations, as well as their colour and duration, are randomized and they are only changing under certain conditions (e.g average low frequencies read coming from MSGEQ7 >= 50%), this gives the frame a really dynamic transition between animations. A two-way reflective sheet was placed in both sides of the frame, giving the corner a cool "infinity mirror" effect.

Central led strip

Central led strip lights the LEDs based on MSGEQ7 output, every 40 ms the module updates its outputs, these levels of amplitude are passed to the arduino that maps the values in a range 0-10 and lights the leds in different colours based on the frequencies.

Colour Frequency band
RED 0Hz-63Hz
ORANGE 63Hz-160Hz
YELLOW 160Hz-400Hz
GREEN 400Hz-1kHz
LIGHT BLUE 1kHz-2.5kHz
BLUE 2.5kHz-6.25kHz
PURPLE 6.25kHz-16kHz

DOT led strip

The dot in the bottom of the strip is used as a flag for bluetooth data, when data is being received it turns blue to show that the data was received correctly.

Additional features

Controllable via App

I built a simple app using MitApp inventor to control the frame via smartphone. It is possible to connect to the board, turn the board ON/OFF, adjust brightness or choose a visualization mode.

Controller
In Party mode both the corner and the center generates different animations as shown in the demo video.
In Static mode every led from corner and center is turned with an optional color (corner and center colours are different), the color for both the center and the corner can be controlled via app.
In Relax mode the corner's leds are on in a still white colour, creating a more relaxing animation.
Strobo mode needs no introduction.

Another LED project i made of which i have a little introduction:

6PRIMO.INTRO.mp4

Animations i programmed and project's info:

https://youtu.be/t5UIrvfEN9Y?t=300

About

A seven band spectrum analyzer used to light a led matrix given an audio signal.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages