Introduction: Cyborg Crafts: Sense Like a Cat With Whiskers - Sensory Extension Puppet
I adopted a cat a couple of weeks ago (Figure 2&3). To celebrate, I wanted to make a cat whisker sensory extension puppet that looks like my cat!
This project will show you how to create a computationally enriched puppet that has whiskers. The Puppet (who I call Mr. Bits) has four flex sensors attached to styrene strips, these sensors are read by an Arduino Nano Every that actuates the four vibration motors based on the sensor readings. Note, this is similar to my cat whisker sensory extension wearable from 2019
While wearing Mr. Bits, you can feel around like a cat! This also ironically makes a very good cat toy.
Cyborg Crafts is a student group that we started at CU, Boulder.
If you have any questions, want to keep up with my work, or just toss around ideas, please do so on my Twitter: @4Eyes6Senses. Thanks!
Step 1: Materials
1x Long back puppet (mine is from the Puppet Company)
4x ERM vibration motors
1x Arduino Nano (I used the Every)
1x Protoboard (I got mine from Adafruit)
4x 2.2" flex sensors (I got mine from Sparkfun)
4x Amphenol FCI clincher connectors (2 Position, Male)
4x Styrene stips .040 x .188 (I got mine from here)
2x Packs of Sugru
Heat shrink tubing
Hot glue gun
Solder and soldering iron
Dupont connector set (8x female headers)
Step 2: Prepare Flex Sensors
- Follow this Sparkfun tutorial to learn how to connect the sensors to the CFI clincher connector (Figure 1).
- Carefully remove the backing substrate (Figure 2) from the flex sensor (Figure 3). Make sure that the sticky side does not get dirty.
- Place the styrene strip where you removed the backing on the flex sensor, it should stick and hold in place (Figure 4&5).
- Cover the clincher connecter and the base of the flex sensor / styrene stip in Sugru (Figure 6&7), wait for it to dry and harden.
- Cut the wires (be generous with the lengths, I did around 12 inches to be safe), strip them, add female headers, connect to the clincher connector, and number the flex sensor (Figure 8). I colored my wires so that they would match the Sparkfun diagram shown in Figure 9.
Step 3: Threading the Whiskers Through the Puppet
The easiest method I found was:
-Turn the puppet halfway inside out.
- Make a small cut using a scalpel or scissors on the puppet's cheeks.
- One by one, thread the whiskers through the holes (Figure 1&2).
- After turning the puppet right side out, you should have wires coming out the bottom of the puppet (Figure 3).
Step 4: Extend Vibration Motors
- Add wire to each terminal on the vibration motor (Figure 1).
- Add heat shrink to each solder joint (Figure 2).
Step 5: Connect Everything Together
- For each flex sensor, you need to create a voltage divider. I suggest following Sparkfun's flex sensor hookup guide. I connected my flex sensors from pins A0 - A3.
- Connect the vibration motor to PWM pins, for me that was D3, D5, D6, & D9 with 250ohm resistors in series.
- To power the puppet, I cut a small slit in the puppet's arm, snaked a micro USB through, and plugged it into my microcontroller (Figure 2).
- For my puppet, I was able to hide all the electronics inside the head. The puppet was also tight enough such that I didn't need to cut the puppet open, I just glued the vibration motors to the inside (Figure 3). If you want to learn how to make your puppet tighter, check out the bird puppet and dog puppet examples.
Step 6: Upload Code
The code for this is really simple and was a slight modification on the Sparkfun flex sensor code example. Each flex sensor controls a vibration motor (A0 -> D3, A1 -> D5, A2 -> D6, A3 -> D9) where the change in flex sensor resistance is mapped to the PWM pin and actuates a vibration motor.
Step 7: Done!
You now have a sensory extension puppet and are ready to (feel)ine the world!
Participated in the