Why we did it
Cause it's cool! We all got excited about the idea of a virtual instrument, so we figured we might as well do it.
How we built it
Using the built in gyroscope on an Arduino 101, we were able to develop accurate rotational position tracking. We created spatial definitions for drum planes, and whenever the tracked position goes downwards through a particular drum plane, that drum is triggered. This is then sent to the base laptop, which plays it through the JBL Pulse 2.
Accounting for a 6DOF system with a gyroscope and accelerometer to track the motion of a rigid body proved to be a formidable task. Additionally, we encountered several unexpected obstacles when trying to interface with Arduino, Android Stuidio, and the JBL Pulse 2 simultaneously.
Accomplishments that we're proud of
We are very happy we were able to connect four different devices together, communicating across protocols and environments.
What we learned
Keep it simple. The more devices that need to be connected, the more room there is for things to malfunction.
Because this was done in the course of a weekend, there is much room for improvement. Firstly, the overall topology of the design can be simplified down to three devices. Also, position tracking with the gyroscope can be further improved to reduce the error in yaw.