At Oregon State University, I worked with a teammate to create a dancing robot that reacted in three different ways to three sound-based inputs. The robot used a SparkFun Sound Detector to measure sound amplitude and frequency, which triggered changes in LED colors, flashing patterns, and dance movements. We used four servo motors for movement and implemented a fast Fourier transform (FFT) function, EasyFFT, to filter noise, detect beats, and identify common frequencies. A rolling average filter smoothed volume fluctuations to prevent LED flickering. The final system included a robot with two actuators on each side, a breadboard with the sound sensor, an RGB LED that changed colors based on volume, and a red LED that flashed in time with the music’s beat.
My primary role was writing and modifying code for FFT analysis, beat detection, and the robot’s dance movements. I also developed code for the LEDs to react to sound input and researched the SparkFun sound sensor to fully understand its capabilities. I 3D-printed the robot’s body, set up the sound sensor on the breadboard, and ensured it worked properly. To stabilize the robot while allowing movement, I designed a support system for the breadboard and Arduino. This project strengthened my skills in coding, hardware integration, and problem-solving
Breadboard setup for LED lights, servo motors, and Sparkfun sound detector
LED light color cut-offs for amplitude (volume) of sound
Rolling average filter applied on raw sound amplitude data to fix LED flickering
Raw sound data from Sparkfun sound detector