This shows you the differences between two versions of the page.
iothings:proiecte:2022sric:musicvisualizer [2023/06/02 06:56] dragos_mihai.ene created |
iothings:proiecte:2022sric:musicvisualizer [2023/06/02 08:08] (current) dragos_mihai.ene |
||
---|---|---|---|
Line 27: | Line 27: | ||
== Circuit diagram: == | == Circuit diagram: == | ||
+ | {{:iothings:proiecte:2022sric:circuit.png?600|}} | ||
== Real-life design: == | == Real-life design: == | ||
Line 34: | Line 34: | ||
=== B. Software Description === | === B. Software Description === | ||
+ | The project uses the Adafruit_NeoPixel.h, LinkedList.h and Wifi.h libraries for controlling the LED strip and the webserver. | ||
+ | The main logic of the project is represented by the following steps: | ||
+ | * set up the Wi-Fi communoication, microphone pin, LED strip object and initialize a list containing the color of the LEDs | ||
+ | * in a loop: | ||
+ | * Unordered List Item* read the analogue value outputed by the microphone | ||
+ | * run the webserver, thus showing the client the webpage that controls the sound processing variants | ||
+ | * based on the current sound representation method, process the sound and add the current LED values | ||
+ | * go through each element in the LED strip's list and modify the colors of each one | ||
+ | |||
+ | The music visualization methods: | ||
+ | - simple visualization - based solely on the waveform | ||
+ | - average visualization - based on the average of sound intensities | ||
+ | - frequency based visualization - based on the frequency domain obtained with the FFT algorithm | ||
==== Demo ==== | ==== Demo ==== | ||
Line 40: | Line 53: | ||
==== Conclusion ==== | ==== Conclusion ==== | ||
+ | This project represents an efficient, simple and nice solution for illuminating a room, visualzing music or any other sounds or just creating a desired mood. For me, it was a very good way to learn more about the ESP32 microcontroller and sound processing. | ||
+ | In my opinion, this project offers a great oppurtunity to be developed into a product that can be ultimately sold to awaiting customers that need something more customizable that the current market offers. | ||
==== References ==== | ==== References ==== | ||
+ | https://ocw.cs.pub.ro/courses/iothings/laboratoare/2022/lab3 | ||
+ | |||
+ | https://arduinogetstarted.com/tutorials/arduino-neopixel-led-strip | ||
+ | |||
+ | https://sensorkit.joy-it.net/en/sensors/ky-038 | ||
+ | https://www.youtube.com/watch?v=lU1GVVU9gLU | ||
+ | https://projecthub.arduino.cc/abhilashpatel121/easyfft-fast-fourier-transform-fft-for-arduino-03724d | ||