The key biological component of this project consisted of electromyography, which measures the electric potential associated with muscle activity. We began by testing a muscle sensor (Muscle Sensor v3, available on Sparkfun: https://www.sparkfun.com/products/13027), adjusting the positioning of the sensor pads and the sensitivity of the board until we settled on a combination that produced a consistent and controlled output. Given that our demonstration utilized drumming as the means to control the hexbot, we experimented with multiple muscle groups that are active during a drummer’s motion, ultimately targeting the Brachioradialis muscle on the inner forearm.
To convert the muscle impulses into directions for the hexbot, we downloaded an example Arduino code and hacked it to fit the needs of our project. This involved setting a threshold voltage to initiate the command for forward movement and adjusting the regularity of the signal so that the hexbot would respond to muscle activity with minimal lag between the signal and the action. Thus, the regularity of the signal had to be frequent enough that the hexbot could respond to multiple commands made in quick succession (or stop moving shortly after the last command was issued), but with enough space between signals for the mechanical aspects of the hexbot to register and respond to each signal.
Signals were transmitted to the hexbot via the hexbot remote, which we wired to the output ports of the Arduino board. This required a wires to be soldered to the contacts for each command on the remote, allowing the outgoing signals from the Arduino board to be transmitted through the remote’s LED transmitter. Thus, while the remote was still functional, we simply used it as a “transmitting tower.” When the incoming signals from the muscle sensor reached the required threshold, an outgoing signal was sent through the remote to command to hexbot to move forward.
Side-to-side motion was controlled by the vibrations created by drumming. In this case, we placed a piezo element (https://www.sparkfun.com/products/10293) between two notebooks (acting as our drum pad), and wired it to the Arduino board. Vibrations registered by the piezo element were transcoded into a signal that commanded the the hexbot to turn right. While we had hoped to have one piezo element for right turns and another for left turns, we were only able to use one successfully, resulting in a hexbot that only turned right. Again, the outgoing signal created by the Arduino board was wired directly to the “right” command on the hexbot remote, such that any vibrations that passed the command threshold caused to hexbot to turn right.
We used a breadboard to facilitate the wiring involved in this project, connecting the muscle sensor to its batteries, as well as the piezo element and the Arduino board. A basic summary of the wiring for the muscle sensor can be seen in the figure below.