It was proposed to us that we choose an project In my Digital Circuits course, we were tasked with creating a project proposal, with a freely chosen theme, to later apply the knowledge acquired during the course in the final project, which had to be implemented in a virtual circuit simulator.I chose to use Wokwi, a platform I had never used before this project. After some thought, I decided to build an audio spectrum visualizer as a decoration piece for my own desk.After some research, I discovered that the idea had already been done many times and, therefore, wasn’t very original. So, I decided to take one of those projects as a base and build additional features for an interactive desk decoration.
The project:As soon as I started working on the project, I realized that the project I had chosen and outlined in my proposal was not compatible with the platform I had selected. It was a physical project that used libraries not available on Wokwi, and I couldn’t import them because I was using the free version of the platform.I looked for another project to use as a base, one that utilized an LED matrix, but I couldn’t find any. I only found similar projects that used displays.So, I had to start from scratch, learning how the LED matrix worked, its libraries, and how to manipulate it. I began by creating columns, then made them move up and down, and finally made them independent of each other.With that part done, I started studying how audio spectrum visualization works and sought inspiration from similar projects. I chose the project that is credited because its code seemed more readable, and that’s when I learned about the existence of the fix_fft
library, which saved my life. Using the library, checking the documentation, and understanding how the project I was inspired by worked, I gradually made changes to the columns I had created in the LED matrix.
The initial idea was to use a buzzer and a microphone to display the moving audio spectrum. However, the platform's microphone sensor lacked documentation and didn’t seem to be fully functional, as it only generated noise and didn’t detect the sounds produced by the buzzer.Under the guidance of my professor, I replaced the buzzer and microphone with a simple potentiometer, which would emulate the output of a microphone detecting the buzzer's sound. I spent a few more hours reorganizing the project accordingly and adding the finishing touches.But here it is: completed within the deadline, with much more effort and work done than initially planned in my project scope.
Comments