Kiera’s Status Report 4/12

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week.

This week, I worked primarily on writing a python script to use the motion data, sent from the Arduino via Bluetooth, to detect significant changes in motion and match the timing of the change to the beat of the song. To determine timestamps of the beat, I retrieved the BPM of the selected song from the https://getsongbpm.com/api. Once the start function is triggered, timestamps for each beat are generated at intervals based on the song’s BPM. These are compared to the timestamps sent along with our accelerometer data to determine how accurately the user is moving along to the beat.

In addition to beat tracking, I worked on capturing a signal from the microphone to the Arduino, but the mic output wasn’t strong enough for the Arduino to detect. Instead of building an amplifier for the current system, I decided to order an Arduino breakout microphone component with a built-in amplifier.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

My progress is still behind schedule because of the delay from ordering the new microphone component but I’ve been working on other aspects of the project to catch up to schedule.

What deliverables do you hope to complete in the next week?

By next week I hope to have a fully working microphone prototype and a microphone casing designed in SolidWorks. 

Now that you have some portions of your project built, and entering into the verification and validation phase of your project, provide a comprehensive update on what tests you have run or are planning to run. In particular, how will you analyze the anticipated measured results to verify your contribution to the project meets the engineering design requirements or the use case requirements?

To verify the change of direction detection algorithm, I move the Arduino through a series of distinct motions and check that the detection timings align with my movements. For testing the beat tracking algorithm, I run the system twice: first moving the Arduino in time with the beat as accurately as possible, then moving it randomly. I compare the resulting scores to confirm that following the beat results in a higher score. Our use case requirements don’t prioritize scoring precision, since it is intended to be a fun feature rather than an actual metric for improvement. 

Leave a Reply

Your email address will not be published. Required fields are marked *