I’m researching squeeze sensing as a mode of tactile interface. Here I will cover the process of developing a squeezeable sensor and the firmware/software concerns associated with interpreting the data from the sensor. This fulfills the “sensor project” for my class called Computational Principles in Media Arts taught in AME at ASU by Todd Ingalls and Hari Sundaram.
First off, how do we sense “squeeze?” People squeeze all kinds of things: lemons, steering wheels, loved ones, toothpaste and other toiletries, pimples, stress balls, hand exercisers. I would like to focus on the latter two, which provide a therapeutic activity for those with Repetitive Strain Injury (RSI). Using flex sensors arranged in a certain pattern on a spherical object, in this case a rubber dog toy, one can capture whenever the ball is squeezed. Here’s a sketch of the sensor layout:
There are three types of interactions I wish to sense with this setup. The first is how hard the user is squeezing. The second is whether or not that squeeze is sustained. The third is if the user is squeezing and releasing the sensor. With these three pieces of information, I believe it’s possible to create a software exercise program to prevent RSI symptoms by strengthening hand muscles.
In regards to sampling rate, I am inputting this data via analog-digital conversion using an Arduino board (Atmega168). My firmware samples the state of the each sensor ten times every second and delivers it via serial to the computer. The sampling rate has to be high enough to sense quick changes in the state of the sensor, such as quick squeezing and releasing, but not too fast as to overload the serial port receiving the data.
Read more: Sensing Squeeze using Arduino