The Massage Couch is a project to connect people during the PICNIC 08 conference. It was developed and built by Edwin Dertien, Ralph Meijer, and Fabienne Serriere. The couch has two massage seats which are outlined by el-wire to guide the user to sit and swipe his/her rfid badge on the arm of the couch. Once two participants swipe in, the massages commence. Third parties can gift massage units to the persons currently enjoying a massage. When massage credits go up, an LED matrix display in the arm of the couch reflects the changes graphically. Audio is built into the center front of the couch. Mobility was achieved by the addition of wheels to allow the couch to move around the PICNIC grounds.
UPDATE: code top level page here: http://trac.mediamatic.nl/picnic/wiki/Camp08Couch
and source code here: http://trac.mediamatic.nl/picnic/browser/camp08/Couch/trunk
Post-PICNIC notes (to be written up with photo documentation soon):
- El-Wire Hacks: Orange EL-Wire, removed switch circuit, shorted 2 pins to have it always on so the control for blinking comes from microcontroller. Orange EL-Wire is connected using LM317 Voltage regulator set to generate 3V with heat sink scavenged from broken monitor. Green EL-Wire modded. Only orange or green El-Wire on at a time, hardcoded into arduino code.
- Audio Hacks: PC speakers with 8V AC transformer yanked out, runs on 12V, amplifier board removed from speakers and fitted in cardboard tikitag-box. speaker backs removed.
- EEE PC Power, running on 12V from main battery.
- Battery: 12V Lead Acid battery, couch should run for about 40 hrs on one 3 hr UPS charge. (unfortunately the UPS charger died, so we have to find a normal battery charger somewhere. The whole couch can also run on a normal 12V - 4A power supply.
- Massage Unit Hacks: Pulled out slider switches, added PWM functionality to control motors in each massage "pad" separately. Motors connected to the Arduino's PWM outputs using ULN2003 power driver. Each massage unit uses its own arduino. Massage unit + 1 green El-Wire + 1 orange EL-Wire on one arduino. Heat function disabled for safety.
- Used SonMicro rfid readers (not tikitag brand) that were supported by existing friend drink station code.
- LED Matrix displays each on their own arduino with proto daughter board. Various "graphic sprites" coded into arduino, called via letter codes by EEEPC. No mux IC has been used (so 12 outputs from one arduino are used to control a 5x7 matrix). The arduino directly sinks the 7 anode's. The cathodes are switched on using 5 BC547 transistors, 10k base resistor and 220R series resistors.
- Fabric Integration: Couch cover was tailored and sewn before integrating electronics. More give could have been included between armrest and seats. El-Wire was housed in black semi-transparent mesh fabric sleeves. LED matrices were under a rectangle of same black mesh fabric, padded with foam and cover was stitched into place around it. Corners of couch had an extra triangle of foam to pad behind angled massage seat. Angling was done to encourage person to person interaction. RFID hearts were centered over the most sensitive RFID reading spot and hand embroidered with "ik" to match tags.
- Physical stuff: Wheels added on wooden triangles of particle board under couch, couch was a bit too back-heavy with wheel placement, needs wheels to be extended back or a front edge counterweight under the seat. Cables pulled through slits and holdes bored into the foam of the back of the couch, care was taken to bore between springs. Electronics fit in by pulling out couch stuffing and adding new foam and fabric stitched over circuitry to hold in place and protect circuits.
Ideas for future interaction and upgrades (just some brainstorms):
- Store favorite massage pattern, you get a personalized massage when you swipe your tag.
- Audio only starts when you swipe, playlist tied to your tag.
- Bio-feedback on massaging.
- Audio cues for daylight situations where EL-Wire/LED matrices aren't bright enough.
- Scrolling messages in armrest.
- Middle panel friending feedback indicator.
- Manhole into EEEPC to update/test code on-the-fly.
- More massage presets, scroll through by swiping tag more than once.
- Pillows have squeeze feedback for something, maybe how much you liked massage or to change the audio track.
- Docking station for recharging.
- Drivable via wheelchair base and remote control.
- Big comfortable foot-rest while driving around
- In-couch cooler for beverages
- LCD monitor pops out from underneath for movie/video viewing while getting a massage.
- Under couch lighting for more visual feedback.
- Maybe have a beamer (video projector) that projects to the ceiling from the back of the couch so you can lay back and watch video on the ceiling.
- Charging ports for gadgets built into front edge.
- Touch games built into fabric between massage panels such as Go, Pong, Checkers, Tic-Tac-Toe, etc.
Day 5 summary:
- hardware done late in the night, our poor coder Ralph was still at it even though the hardware and sewing was finished: http://www.youtube.com/watch?v=AIpe0mEALaU
- Soldering of two extra protoshields: one with the LED matrix and one with the massage controller.
Day 4 summary:
- programming and soldering of arduino LED matrix control
Day 3 summary:
- massage units have new circuitry to make better massage programs
- el-wire control is working from Arduino
- green velvet cover for couch was draped, tailored and sewn
- extra foam was added in couch corners to angle two participants toward each other
Day 2 summary:
- couch was found at local thrift store
- fabric and el-wire was purchased
- rfid readers were tested and inserted into arms of couch
- massage mats were bought via 'marktplaats.nl'
- massage mats were tested and decidedly unfit and boring, so they needed to have a better program
Day 1 summary:
- shopping list: couch, fabric, 12v car battery, lighting (el-wire [PCL computing or Muco or Hecke.com], under car lights), sound (cheap pc system)
- wheel chair wheels and steel base from Edwin
- massage chair units acquired by Edwin, 2 for 20 euros
- hardware we already have: eeepc, 6 tag readers, usb hub, arduino, squishy switches
Interaction scenarios:
- two people at least on the couch to start up massage (and/or allow remote control driving)
- seats solid red when no one on it, flashing red when sitting but no rfid, green when rfid read
- two people on the couch getting massages on the same time get added as a contact inside the anymeta system
- rfid reader also in the back to gift massages
- massage credits from other projects, winning race, other rfid games, etc.
- under couch lights reflect massage started