Cathatt
Materials used:
- Arduino Nano
- Breadboard
- Connecting wires
- Alligator clips
- 2 Yellow LEDs
- PN2222 Transistor
- Vibrating Mini Motor Disc
- Steel thread (or any thread that can sense capacitance)
- Copper fiber strands
- Generic hat with fold
- Scrap fabric
- Orange/brown thread
- Resistors
Software/Libraries used:
- Arduino IDE
- CapacitiveSensor Library
- Sewart64
Brainstorming/Prototypes
The prompt for this project was to create a "low-tech" device that incorporates materials not traditionally associated with hardware, such as cardboard, fabric, wood, etc. This encouraged outside the box brainstorming and allowed us to explore zany ideas that we otherwise would never have the opportunity to seriously consider in academic spaces. Part of the project was to generate 20-30 ideas in a brainstorming session, where we came up with this list:
Out of this list, there were several that we dearly loved conceptually and explored more with a few basic
cardboard prototypes. The first that we latched onto was "Piano tile bike spokes," inspired by the trend of putting some type of card on the back of a bike so that when the wheel spins, the spokes hit the card and simulate the sound of an engine running. With this idea, instead of a card hitting the spokes, different cards would be attached to the spokes and play different notes on a piano.
We then turned our attention towards more of a gaming experience, opting to to implement a cardboard version of the classic iPhone game Unblock Me.
We found this idea particularly interesting because of how comparatively little coding would be necessary to fully implement the game's rules. All that would need to be done on the software side would be sensing the win condition - i.e. getting the desired block out of the exit. All the other rules, like not being able to pick up a block, not being able to make non-cardinal moves, etc, would be determined by the shapes' geometries and the physical limitations of the pieces and the play area itself.
However, we found that the most basic implementation of the project would essentially be one set of shapes with a limited number of possible configurations in which a win-state is achievable. This could be circumvented by producing many sets of pieces to go into the play area, but that could quickly turn into a disproportionately large amount of materials for relatively little content produced for the project, so we moved on to other ideas.
Choosing a Final Idea
One component in our hardware kits that we found intriguing was the small spool of conductive thread. Louise had a long-held idea for a T-shirt with a sewn in button that triggers a loud buzzing sound and a large red X to light up, for the purposes of hitting said button when someone says something she doesn't like. We both found this hilarious and preposterously tenable for the scope of this project. When considering the logistics of what would be necessary for this, i.e. sewing a patch on the inside of a shirt in order to house a minimum of a breadboard, an Arduino, LED lights with their corresponding resistors, some form of power, etc, we quickly shifted to using a Carhartt hat rather than a shirt, since all these components could be more easily housed in the fold of a hat than on the inside of a shirt. We also thought the idea of sewing a conductive cat logo over the Carhartt logo, to make a purring sound and have its eyes light up a bit more light hearted than casting America's Got Talent style judgement on whoever you happen to be talking to.
We quickly produced this functional prototype to test the capacitance sensing of the thread, and found it to be quite responsive, if not a bit finicky to keep in place with the rest of the wiring.
We still had a bit of work to do in Sewart64, the software that generates files compatible with the embroidery machine, in order to make the word "Cathatt" legible, but we took this opportunity to experiment with placement of the LED lights and used some non-conductive darker thread to simulate what having a conductive border might look like.
Switching gears, we then got the capacitive thread to function as a button to turn on the vibrating motor to simulate purring. Given our experience with simple LED based Arduino projects, we found getting those working quite trivial and unnecessary until the whole hat housing was implemented. After refining our design in Sewart64, we settled on this design, on which we sewed a conductive border by hand.
(We also settled on a smaller design so the conductive border is essentially guaranteed to be touched when the patch is touched. Also makes our cat more bug-eyed looking, so why wouldn't we want that as well.)
First Fully Functioning Prototype (Kind of)
We then sewed the patch onto the hat, with two strands of conductive wire sticking out the back of the hat's front fold to be connected to the Arduino. We stuck the pins for the LEDs straight through the fold of the hat, and we sewed the motor to directly behind the patch.
We found this setup to be somewhat functional but extremely fragile, as the connecting wires in our hardware kit proved to not be reliable when making all of the connections attached to the hat. Wires would come loose, and seemingly only one aspect of the project could work at a given time. If the capacitance sensors worked, the lights turned off. If the lights turned on, then the motor wouldn't trigger, and so on. So, we took to soldering the connections on the hat using solid core wire. These connections were much stronger and fully reliable. After tucking the wiring in the fold of the hat and making the patch visible, all of the connections remained intact and functioned as expected.
First Fully Functioning Prototype (For Real This Time)
Final Demo with Cord Management (We shoved them in the hat)
We were extremely happy with how the hat turned out. The video doesn't pick up the vibration, but rest assured that our cat provides haptic feedback in the form of purring upon receiving pets.
Code
The code for this project was quite simple, since all that was needed was functioning capacitance sensing, and turning on and off 2 LEDs and a vibrating motor. The code we used can be found here.
Comments
Post a Comment