Haptic Workshop Notes

Tyson Moll

This week’s task: try out three different experiments based on our class outline for haptics and record our findings.

Experiment 1: Hello Vibe Motors

In this experiment we were tasked with testing out the basic functionality of LRA (linear resonance actuator) vibrating motors  with Arduino sample code.

With the basic digital “Blink” code, we saw the motors performing at high intensity. Switching to an Analog output allowed us to change the intensity of the vibration and adjust the intensity over time. Decreasing the delay between vibrations seemed to make the motors feel less intense but made the on/off pattern more distinct. The “Fading” example code allowed us to play with the intensity of the vibrations with analog output.

The vibration felt vaguely uncomfortable on more sensitive regions of skin, such as the back of my hands and around the lips. The intensity felt similar on my fingerpads, albeit not uncomfortably so. Testing out the vibrations on less sensitive areas such as cloth-covered legs and regions of my arms made the vibrations feel less noticeable and bothersome.

The difference threshold for me was an analog output value of about 40 (out of 255); I had to close my eyes and concentrate on the motor to detect its action, which reminded me of some meditation teachings that my cognitive science professor once showed us… focusing on an element of the body  Any lower and it became difficult for me to determine whether I felt anything besides my own pulse.

Experiment 2: Motor Arrays

For this experiment we used several motors in order to note any differences from single-motor sensations and see if we could detect any haptic illusions.

With two and three motors vibrating in .2 second cycles, it created a pulsating effect that felt as if a single force was pushing against my thumb in a discrete direction.

Using the “fading example” made the rising/fading effect overall more noticeable. I tried having two motors fade with opposite values (e.g. 12% and 88%) and it made the vibration seem to move. Interestingly, it seemed as if this motion was more noticeable when the motors were positioned horizontally relative to my body than vertically; positioning the motors on my fingers across or along its length also had a different effect (especially when the motors were placed on separate pads of my fingers), but it didn’t seem as discrete as changing their relative position to my chest. Maybe I am misinterpreting this feeling but it could have some sort of connection with the body’s ability to sense the relative position of body parts.

Increasing the speed of this pattern created a pinching effect whenever they changed from increasing to decreasing vibrations. My guess is that this is caused by the hands detecting a sudden shift or delay in the pattern of vibration. The apparent back and forth movement was also more apparent.

I also created another version of the ‘fading’ code with three different offset values for each vibration motor, but the results were vague and difficult to interpret when in contact with several body parts.

Without a physical bonding apparatus we found testing out the motors easiest when we squeezed them between our fingers securely. I later tried out masking tape as a securing apparatus. Attaching the motors to my desk surface made an effect that resonated not unlike vibrating cellphones on classroom desks: the effect carried across the surface, although the patterned action was less noticeable. I also tried attaching two of the motors to the back of my shoulder and triggered two successive, slightly fading ‘pokes’ using relatively strong pulses.

Experiment 3: Haptic Motor Drivers

For the final experiment we had the opportunity to try out Adafruit’s haptic motor drivers (HMD). In preparation, we downloaded the relevant library through Arduino’s library manager and opened up a basic example code that cycled through all of the drive modes on the HMD’s chip. Some were gentle, some sharp, some subtle. I’m not certain I can say I have a favorite effect or that any of them are of particular interest but being able to readily access this variety of options via a chip seems convenient. I did find the transitions between the hums and other similar behaviours very streamlined, however; the idea of being able to smoothly chain these behaviors in sequence seems like its most useful trait.

The last task we were assigned was to represent how our day went yesterday as a series of haptic buzzes, paired with some sort of sensor. Instead of developing such an arbitrary representation, I wired up the vibration driver with the ultrasonic sensor I covered in the previous experiment and added a few additional thresholds, resulting in a device that increases or decreases its rate of pulsing based on how close an object is to the sensor. It reminded me of the use of rumble in Nintendo Gamecube controllers, especially in ‘hot / cold’ scenarios where approaching items of interest would increase the rate of vibration. I suppose this could be handy as a means of navigating while blind; it could even be translated into some sort of maze-navigating game.

In conclusion, haptics provide an underused means of sensory communication in a world dominated by visual and audio cues and haptic illusions are quite exciting in their ability to convey information through simple repeated movement.