Day 1 – In Class Labs / Experiments
Lab 1 – Hello Vibe Motors (Blink)
For these labs, myself, Jack, and McCoy all worked together.
In this first part of lab 1, we uploaded the blink example to the Arduino so that vibrating motor would buzz on and off. Since this was an Arduino Nano, the circuit that was needed involved a transistor due to the lack of amperage to power the motor.
Lab 1 – Hello Vibe Motors (Fade)
After the blink function, we uploaded the fade function so the motor would fade from high to low smoothly. This was a nice setting so the transition from on and off wasn’t as abrupt — though you could want a setting like that.
Later in the evening after class, I worked on mounting the vibrating motors in a different way than just the two wires. I soldered two header pins onto a small piece of a proto-board and then soldered the two leads of the motor to that. I didn’t secure the vibrating portion of the motor for now, letting it move semi-freely made it a little easier to see visually when documenting it.
Lab 2 – Motor Arrays
For the second lab, we were able to move to an Arduino Uno so we didn’t have to use the transistor method. We attached three separate motors, each of which had its own pin to the Arduino, but shared the same power bus.
In the videos below, we coded the motors to either operate in unison, or in an alternating manner.
Also for the second lab, Jack had an idea to tape the three motors (which were vibrating simultaneously) next to each other, and attach that to your hand. It felt odd in that even though there were three individual motors, the vibrating sensation felt centered. Like that example of the sensory funneling illusion.
I thought this lab was super interesting and something I think I will definitely have to revisit. The fact that there is a huge library with already programmed vibrating durations/strengths, there really is an endless amount of combinations to create a unique vibration.
For the haptics buffet on the second day, I brought in a simple motor and Arduino circuit with a piece of felt mounted to the motor’s spindle.
Lab 5 – Haptic Feedback Prototype
So I had an idea to implement haptic feedback into a version of the game Pong I built on p5 for my Code of Music class this semester. Essentially, make a game controller. I wanted to use the accelerometer/gyroscope feature on the Arduino Nano to control the paddle in the game, and then for a motor to vibrate every time the paddle came in contact with the ball.
For this prototype, I also worked with Jack and McCoy. We each were working on the code, circuit, and mounting aspects. Unfortunately, during class we couldn’t get the accelerometer/gyroscope part to work, so we just left the Mouse function I had to begin with, and made a prototype strap a player could attach to their hand to feel the game as if the ball in Pong is hitting their hand.
We were able to program the array of vibrating motors so that it would buzz when the paddle and ball hit, but also it made a sharper slightly more aggressive vibration when the ball hit the bottom, indicating an error.
From the examples of ways to mount vibrating motors, I really liked the trick to use heat-shrink over everything to secure it nicely, so that’s what we did with the three motors on the strap.
In order to try and capture the sound of the vibrating motors, I attached my Apple headphones and placed the microphone near them to try and record the vibrations.
However, later on in the evening, I recoded the Arduino and p5 serial communication, I was able to get the accelerometer/gyroscope function working!!