Final Project Milestone 2 – Job Bedford
Goal: Complete Hardware and establish Wireless.
Hardware:
A great majority of dance movement derives from the orientation and manipulation of the feet. So a comfortable wearable device need to be sturdy enough to hold electronics and not jerk about with sudden movements, but also need to be easily put on and taken off as well as not ungainly and perturbing for the wearer. Shinguards are a publically common and convenient hardware starting point. Simply drilling into the hard plastic and attaching needed circuitry did the trick.
Success: Fabricated both Accelerometer mounted Shinguards.
Finished establishing Force sensitive resistors (FSR) in shoes. One for each ball and heel of foot. Ingredients: wire, conductive fabric and tape.
Modified perf-board to include voltage divider for FSR’s, external 9-volt battery, 5 volt regulator, and female header pins for MMA7361L three-axis analog Accelerometer and Wixel radio module. Later, a small hall effect sensor was added for performance purposes.
Wireless:
Serial communication via Arduino Pro Mini and wixels is too slow and cumbersome. Original plan: Use two transmitting Wixels to send messages to host computer. each message had a defined start character to identify which leg it came from, then would preceed with analog values sent in char range from 0 – 255 and end with defined end character. Problems with first approach: Both wixels would attempt to contact the host computer and end up mixing their messages. Sometimes analog sensor values were confused with start characters that had the same char.
Since host receiver could read two signals at once, The second attempts focused on pinging each wixel leg indenpently to trigger call back data to be transmit. Problem with this method was timing. The serial Interface in max needed to be bang for each character read, then immediately trigger a call back for the other leg’s wixels. Sometime the timing between sending the trigger signal and immediately reading the call back were off and the communication became fault.
Solution. The Wixels have a built in ADC RX & TX firmware. This Firmware allowed for sending straight analog values with packets for up to 6 analog pins on the Wixel. These 55-character packets would have a Wixel ID, a timer count since turn on, and 6 analog values in milli-volts!!!
That equates to sensitivity of 0 -3300 for each accelerometer and FRS read. The Receiving Wixel receives these packets through the Serial object in Max, routes them based on Wixel ID and unpacks their values to get the data.
A simple modification of the Perf boards allowed for the solution to be implemented. The ADC communication is much fast then Arduino Serial and has far less complication. Typical reading speed is in 40ms intervals for each packet.
Before:
After: