I have finally completed my latest : the ” EKG-controlled Game of Life Hoodie “. That’s a wordy title if there ever was one.
The concept here is a wearable version of Conway’s Game of Life, that is controlled by the current state of your life. Essentially, a wearable extension of your heart, externalized in the form of Conway’s Life. A custom circuit includes an infrared EKG monitor that resets the Game each time a heartbeat is detected. Heartbeat data is analyzed by a hackduino which resets an ATMega48 chip, part of Adafruit’s kit controlling Life, which is embedded in the chest of a hoodie. Conductive thread is used to connect the 16 LED matrix to the circuit board which is kept in a pocket towards the bottom of the hoodie.
If you are checking this out and are unfamiliar with John Conway’s Game of Life, please read about it, as it is a seminal piece of work, in my opinion one of the most important intersections of art and science. For the LED matrix playing Life, I used Adafruit’s kit, which is brilliantly designed – able to be daisy chained for larger boards. Unfortunately (or, perhaps, fortunately) I only had one kit to work with, which mean a 4×4, 16 LED matrix. I decided to use red LEDs, as they represent life, blood, and the heart much more to me than green. Also makes this an even better Valentine’s Day gift 😉 I decided that since I was embedding this into a hoodie, I would not need her PCB, which is bulky. I designed my own breakout for her chip, which you can see in the circuit towards the end of the post.
I used conductive thread to connect each LED from the chest of the hoodie to the pocket holding the circuit and battery, which is lined with an anti-static bag, inside the wearer’s left hip area. The LED embedding technique was picked up from Becky Stern, and worked out quite well. It was, however, a challenging amount of sewing for a novice such as myself, however I accepted the challenge. I would say it came out functionally ‘great’ and aesthetically ‘ok’.
Check out the flickr set that documents the entire build process.
For detecting heartbeats, I recreated a circuit originally saw on Make, and then through further research found Meng Li‘s project, and finally this schematic – many thanks to Justin Downs for posting his work. The technology here is very simple – an infrared LED (emitter) and detector pair can “see” through your finger: each time blood is pulsed through (= a heartbeat) there is a spike in the amount of light detected. A LOT of fidgeting and troubleshooting went down in building this circuit, and the result in the video only looks so nice because of a lot of smoothing and averaging done in the code.
Here’s a breakdown of the final circuit I designed to run the hoodie:
It most definitely overkill to be using 2 28-pin ATMega chips for a job that could most definitely be done by one. In Adafruit’s glorious open-sourcery, all code is even posted for their Game! Unfortunately, I do not yet own an AVR programmer and their chip is not bootloaded or supported by the Arduino IDE (the code is all in C). Soon enough I will get my hands on a programmer and if a second version of this arises, I will most certainly use just one chip.
Finally, my finalized prototype of SOBEaR, the responsible robot bartender.
SOBEaR is a robot friend for anyone who does not know their own limits, or has problems controlling themselves.
I’ve added a glass coaster with a glowing status light to tell you that he is on, as well as a sewn-on patch to show you where the ‘go’ button is. When you press the “breathe + pour” button on his right foot, the status light goes solid, and the user breathes into SOBEaR’s face. You can see the alcohol sensor above the bowtie, under his chin. Your current blood alcohol content (BAC) is then shown a scale from 1 – 6 with green, yellow, and red LEDs in SOBEaR’s chest. Depending on how drunk you are (or aren’t) SOBEaR will pour you a drink appropriate for your current state. In the video below, SOBEaR is pouring cranberry vodkas for my user tester. Two servos hold the alcohol and the mixer, and with the SoftwareServo library for arduino, programming this aspect was simple.
For many obvious reasons, I used a MapDuino which is an ATmega168 chip soldered into a custom PCB circuit (started with perfboard from radiocrack) for the brains of this robot. The alcohol sensor was super easy to implement, got it from sparkfun via my computation studio teacher.
This robot takes the shape of an adorable plush teddy bear, because I felt it gave it a sense of trustworthiness, as if a teddy bear could ever do you wrong. Trust SOBEaR, he knows what is good for you. It was a tough decision between naming this guy “SOBEaR” or “Teddy Drunkspin” [credit goes to matt for that one!]. Other suggestions?
There are a lot more pictures in my first prototype’s post HERE.
I have finished my first prototype of SOBEaR, the robot bartender. SOBEaR is a robot friend for anyone who does not know their own limits, or has problems controlling themselves.
SOBEaR has an alcohol sensor mounted under his chin, so that the user presses a button inside his right foot, breathes into SOBEaR’s face, and then watches their alcohol consumption level displayed by the color LED column in SOBEaRs chest.
Following their sobriety test, SOBEaR then immediately pours a drink, a ratio of alcohol and mixer (OJ, cranberry, tonic, cola, etc), appropriate for the user at this time.
As you can see in the video, I still need to play with the angles for each pour. Can’t have the bear pouring the bottle straight down into your glass. Wouldn’t be very classy to just spill liquor or mixer all over the place. So I’ll be fixing that before presenting this project, as well as adding a coaster for the user to place their glass under. It will have an LED indicator light as well…
This is my first prototype of the Spatialized Umbrella.
The Spatialized Umbrella project offers an entirely new dimension to walking in the rain. Using light and sound spatialization this umbrella creates an immersive, mobile, and highly personal multi‐sensory environment. Range sensing technology helps the Spatialized Umbrella react to your movement through a space.
5 speakers and LEDs are mounted inside of the umbrella, around the users’ head, allowing for sound and light spatialization. The ‘raindrop’ samples play in a loop, each speaker playing their own unique raindrop. The LEDs light up the speaker playing at that moment. The tempo of the loop is controlled by a long-range Sharp Infrared range finder. The closer an object is to you, the faster the loop plays. If an object is close enough and a threshold is reached, a lightning sequence is triggered. Best part: COMPLETELY SAFE FOR USE IN THE RAIN.
This video is actually an early version of the code, and I apologize for not using a microphone INSIDE the umbrella (it’s hard to hear the ‘raindrop’ sounds). New video soon.
The most time consuming part of the project was in soldering the PCB i used (i wanted it to be small to fit at the top, so the entire arduino did not make sense). I designed my own “mapduino” circuit and used an IC socket for the ATMega168 chip to sit in on the PCB. This way i can just pop the chip out and replace it with another I have reprogrammed on an Arduino. Rigging the umbrella also took a little while.
***ALL SOUND IS MADE USING ONLY AN ARDUINO AND 8OHM SPEAKERS:: lookup tables store values for waveshaping, which is output directly from Digital Pins from the ATmega chip. See the current version of the code, which can be found HERE.
still to do: linearize the IR data so that there is a more even rate of change in the tempo. When I began, I also had the thought to use an accelerometer, to measure the direction of movement. BUT, I have been successful tonight in reading data from a digital compass sensor, which can give me degrees of rotation — like say if the user spins the umbrella, i could have the sound/light spin around the users head in that direction, at that speed. This is much more interesting data than an accelerometer, in my opinion.
today, i assembled my monome 40h kit! it’s essentially the same as a 64, but comes in kit form – 2 PCBs and all the pieces that need to go on it – ATmega chip, shift registers, FTDI serial to USB, button pads, etc. The only thing it doesn’t come with is LEDs. These you must find on your own. I ordered these from LEDShoppe, and so far i’m not extremely impressed with their consistency (brightness) from bulb to bulb. However, the color is beautiful (violet). I failed to realize this while constructing her, but the LEDs are in fact all UV Blacklight LEDs, which is kind of cool — not really something I am into, but once i finish construction of the enclosure w/sensors, I will probably sell this monome and I think the UV aspect will be appealing to others.
It took me about 2.5 / 3 hours total, at which point i plugged her in, to discover that one LED was burnt out, and entire row would not respond to button presses. It took me a while to de-solder and remove the dead LED and replace it, but i did, and it works. the row, however, i believe is a circuit problem, and I’m waiting to hear back from Brian Crabtree (inventor of monome) to see what’s up. other than that, it works great, and looks great. The hardest part of the process was soldering 64 surface mount diodes on the button pad PCB. I didn’t expect to have to do anything that tiny. Luckily I got a Weller soldering iron and a couple 0.8mm tips. nothing beats a fresh tip. here are some more images from the process.
__________ the 40h comes with 4 ANALOG inputs that are just waiting to be sensorized. I am considering a capacitance touch sensor, or possibly an IR rangefinder, or maybe even just a potentiometer(s) to have some knobs. the most common is an accelerometer, so that the monome has tilt control. My 64 has this, so i probably will not do that. I still have to build an enclosure (obviously) and what sensors i choose to install will determine what the enclosure looks like. i’m excited.
Click on image to walk through a great lesson myself, kerstin, and cecilia put together about Sharp Infrared range finding sensors. there’s info in there about pin connections, the 3 types of sharp IRs, and code for mapping, smoothing, and calibrating the range finder data.
HERE is the link to the page, if your resolution isn’t high enough for lightbox. and code links:
..and a vid – sorry, didn’t realize our hands were so out of frame when we filmed it — but you get the idea: closer the bluer, the further the redder the LED gets. this is demoing the last arduino code link i just listed.
I recently found a FANTASTIC tutorial on how to breadboard the ATMega168 chip. I can’t even begin to list out how many good reasons there are to do this. However, I will attempt:
1. cost. sparkfun sells ATMega168’s with the arduino bootloader for $4.95 (versus $35 for a full arduino)
2. size. now, instead of needing space for that entire bulky arduino board, you can make your project as small as you want, well assuming you can fit this chip in (which is very small on it’s own i’d like to add.)
3. pin access. now, you have unlimited ground and power pins, something that you previously NEEDED A BREADBOARD TO DO ANYWAY.
4. reproducability. now, if you want to make several copies of one prototype, this is an actually viable process you can follow, whereas previously you may have thought “oh, i guess i’ll need to port this to PIC or BASICStamp to be cost/size/design effective”. nope. not anymore.
5. IT’S JUST A GREAT EFFING IDEA, YOU FOOL.
the tutorial (of course) is from the ITP site. man, ITP, you are great. thanks.
Here it is in all it’s glory, luminosphere. You can check out my Arduino code HERE
I also had to make a product sheet, the PDF file can be downloaded HERE. There is also an image of it, in case you don’t want to download (always a hassle, i know).
I am going to sell this item on Etsy.com, i’ll post up here when i post it on there. probably will sell for $20, and my teacher, Yury, has guaranteed anyone who sells something they make for class for more than the cost of parts, an AUTOMATIC ‘A’.