Vibration Motors

The first day of Haptics class, Beverly and I started experiments with a couple of types of vibration motors. We simply set up the motor with blink sketch. We played with changing the delay between when the motor was activated and when it was off. Here are observations we had.

  • We couldn’t feel the pulse at 10 ~ 15ms high voltage, but you can see it move a little bit
  • The smallest pulse at high voltage we were able to feel when holding the motor was 50ms
  • Tips of fingers and palms are the most sensitive to feeling the subtle vibration
  • We tested arm, tongue, and back of the hand which was not as sensitive
  • Experimented with the sound of the motor vibrating on different materials – table, plastic bag, foam plate, glass cup. Could be used to make percussive sounds.

image of transistor circuit diagram

We added the transistor to the circuit to see how it would affect the strength of the motor vibration. We set it up using the TIP210 and a 1N400x diode. This set up increased the strength of the vibration of the motor. It was strong enough that we could feel the vibration from across the table.

Next, we tried the standard fade sketch, and played around with changing the step size and delays. It was more satisfying when the step size of the voltage increase was smaller. The smoothness of the vibration was super soothing and meditative.

Motor Driver

We used Adafruit DRV2605L Haptic Motor Controller and tried the example sketch to examine different vibration sequences. Generally, a range of the sequence number 50 to 100 was sort of easy to differentiate each vibration sequences. We also tried the complex code to combine together picked vibration patterns in a row. Some combinations of patterns could make an interesting character of the vibration. Especially, strong click, hum and pulse patterns could alter all of the others in various ways.

We also used the IN pin on the driver and used a small piezo sensor as an audio input source. It basically functioned like a button – when you tap on the piezo it activates the haptic motor. This was a cool way to get an immediate interaction very quickly.

haptic piezo(courtesy of Beverly’s blog)

Motor Array

For the motor array, we played with the idea of having the feeling of rain on your hand. We first tested having the haptic motors take turns in order vibrating for one second each. And then we tried to see how it felt if they were going off randomly for random amounts of times. We made a strap to hold the foam plate against your palm to test how it close it would feel to rain. Thin foam plate was apt for imitating the sound and haptic feedback of the raining scene on the hand, but since motors vibrate, it was hard to reproduce the exact rain drop feeling at single points.

Haptics Buffet

Youjin and I worked as a team to develop the idea that makes the feeling of raindrops. We decided on using a single dc motor and hang some pendulums on that. So when the motor activated, all the pendulums going to bump against the inner surface of the enclosure(cardboard box was used). We also used a potentiometer to adjust the speed of raindrops so that could make more realistic feel.

Final Haptics Project: Raindrops

We attempted to keep work on the rainmaker thing. Actually, the previous version of ours didn’t acquire adequate design and functionality to make realistic rain sound and haptic feelings. So we re-designed the mechanism and set components again.

We used hardboard paper material to make a light but durable enclosure. We also expected the box could make a smooth sound effect and haptic feeling of raindrops as well.

I put two walls inside of the box as restrictions that prevent components tangle to each other.

We tried to keep the mechanism as simple as we can, so we used an array of small disk vibration motors and conceive them as single raindrops. Each motor’s movements were programmed based on a random sequence of customized vibrating patterns and designed to move only vertically.

For the next step, we are trying to integrate this haptics project with a web app so that could interact with weather api data or user input.