imp table : an r.bray project intro updates phys comp process animation process main rbray itp


imp table
physical computing

updates>

 

 

Goal To create an entertaining educational interactive experience. More specifically, an experience which encourages people to think about their food choices in a broader social context, but through an engaging medium that doesn't scare them off from unpleasant facts.
Context The best location for this work would be a gallery or museum-like setting so that surrounding light and sound can be controlled and the users can be completely engaged. However, this ideally should be used at fairs and events like agriculture conferences, in which case environmental variables must be taken into account.
Problems The biggest challenges involve the sensing technology and user input. The sensors must be calibrated and may change over time. Users will touch the objects and try to move them in unexpected ways, possibly breaking the connections to the sensors and moving mechanisms, as well as throwing off the projection.
Proposal

The imp table will be a table with a projection from above straight down on to the table top. There will be objects on the table: a plate, cup and spoon.When a visitor touches an object on the table, the projection is triggered and animated figures appear, reacting to what has been touched. These animated figures will be black and gray so they appear the same color as the shadows of the hands that bring them to life.

Target Users All users, but ideally those looking to be educated while entertained. Childrens with parents would be a great place to start.
Design Criteria The piece should be visually compelling, intuitive to use, and give immediate feedback.
User Scenerio Sean, a seven year old boy, sees the table from across the room. (What drives him to go there since it's just a white table with no food on it?) He sees some other people touching it, and goes up and touches the plate. (Why would he touch something with no prompting? Why wouldn't he try to pick it up?) Immediately after drawing his hand away, he sees that an animated character is emerging from the shadow of the plate. It does some funny stuff and maybe he tries to touch it or pick it up. (At this point, there's no reaction to that, but in the future there would be). He watches the animation, and then touches the cup, which immediately starts another animation.
Hardware Design See below.

Elements:

Touch (Capacitive) sensors - Electrodes to gather input when users touch objects on the table. My research says that the least expensive method of designing the electrode system is to have the electrodes and QT chip on one PCB that's bonded the back of plastic or glass. The electrodes work by emitting a pulsed electric field through the plastic or glass panel - a finger touching the panel will cause "the capacitance of the electrode to ground to increase by about 0.5pF t 5pF due to the extra coupling of the human body to the surrounding environment."

The electrodes reside in an electrode substrate, which come in all sorts of forms like epoxy-fiberglass, polyamide, etc. According to the documentation for the chips, the lowest cost designs use single-sided laminates such as CEM-1. Tom's book offers an even lower cost solution: copper mesh or copper foil. (Physical Computing, pp. 227-229).

Capacitive sensors - Chips - I bought 10 QProx sensors - QT113HD chips. The QT chip is able to process the small change in the capacitance of the electrode to ground as an output signal. In Tom's book, he says the Theremin is made with capacitive sensors! However, in talking to Michael, found out that the 6 inputs I need will work much better with a chip that is able to handle all of them. So I went to buy the QT160-DG 6 key chip from QProx, but unfortunately it's not availabe through their North America distributer, DigiKey. So, I got the QT-150!

Moving Objects - Motors and magnet system to move objects on the table. The cup, plate and spoon will move. I can look into hacking toys or other electronic stuff for some of this.

Cup Jiggle: the movement should appear to be reacting to something climbing on it. The cup should tip slightly and rock back down. This could be done by simply having something push one side of the cup up for a moment, and then quickly release. The animation to the right, from flying pig, shows a cam rotation solution. It'd be great to also produce a splash in the milk when the guy falls in, and splashes when he's thrashing around. But, how to do that without having holes that the milk leaks through? (By the way, I shouldn't actually have milk since it'll go bad - rice milk, maybe?) Anyway, maybe magnets to produce the splash.

Plate slide: I want the plate to move a couple inches in every direction. This can be done with two rack-and-pinion type devices, creating movement on x and y axes. Will need 2 server motors and gears for sliding. I may want to consider finding and hacking some existing thing for this. The plate can be glued at some specific point underneath. Will need data out about where the object is - sliding potentiometer which can tell where the stepper motor is in its rotation and can send data back which can then tell the motor to start or stop.

Spoon Flip: spoon will flip up when an imp appears to jump on the tip. A magnet on the underside of the tip will cause the spoon to flip when a magnet under the table top is pushed upwards by a motor. This can be done with a rack and pinion like the cup splasher mechanism.

I've decided to leave the Globe rotation for the next phases of this project, but here's the information for when I need it: user servo for rotation, use a potentiometer hacked so it turns 360, to sense rotation. To hack potentiometer, pull tab off and put 10k Ohm resistor between center pin to either power or ground.

Microcontroller - I think that I'll stay with my trusty 18F452. So far, my inputs and outputs: Inputs: Serial in from laptop, 6 analog in from QT sensor chip, and in from movement positions listed above - 2 potentiometers for the plate and 1 for the globe. Outputs: Serial out to laptop, 5 outs to motors listed above (2 for cup, 2 for plate, one for fork), out to midi.

Power - I'll need extra power - how much will depend on the motors I'll use.

Serial Server - Flash has a hard time getting serial data, so you have to set up a server or use a module like the Teleo mentioned below. Dan O has a Serial Server solution mapped out on his website, though, complete with code examples.

From the Making Things website:
Teleo Modules: Control projects from your computer by USB with Teleo™ Modules. Use sensor input to trigger your animation in Macromedia's Flash, create a unique performance interface for real-time audio and video processing with Cycling 74's Max/MSP/Jitter, or incorporate Teleo into your C/C++ application with our C/C++ SDK.
Available Modules include Motor Controllers, Digital and Analog I/O, and Video Modules. Prices range from $159-$189.

Action Script - Data from touch sensors through Serial Server to trigger projection of flash animation

Midi - I'm considering using midi because I think having sounds will really enhance the interactivity. I'll need a 20mgH clock, opto-isolator. 5-pin female connector, and MIDI synthesizer. Or wait, since I'm sending data to the laptop anyway, should I have sound coming from the laptop instead of the chip?

Projector

Speakers

The table itself, constructed so that magnets and motors could be used to manipulate objects. Also, should there be plexiglass on the table with the sensors under it?

Objects on the table. Plate, cup and spoon. Everything can be easily purchased. No modifications needed, except for the part in the cup to create the suction.

Parts List

Basic board parts :

18F452 microchip (2 extra for backup) microchip.com
Serial connector 5-pin female
Serial Cable (USB?)
Midi connector
20 mHz Clock self-powered Jameco 27932
5V regulator
Various resisters and capacitors

Sensors:

QT150 5 key qprox chip QT150-D Digi-Key 427-1061-ND
Cable TV cable
(to insulate sensor wires) RadioShack
10 mHz oscillator resonator Digi-Key 495-2366-1-ND
A variety of capacitors RadioShack
Copper mesh for sensing electrode

Moving parts:

5 servo motors (2 for plate, 2 for cup, 1 for spoon) Standard R/C Servo Jameco 358635
2 potentiometers (2 sliding for plate)
neodymium magnets
3 rack and pinion setups
(2 for plate, 1 for cup, 1 for spoon) Pinion Gear Jameco 401103
Cam rotation mechanism
(for cup)
9 volt batteries for motors
9 volt battery connectors

Bigger stuff:

Laptop
Projector (borrowed)
Table (needs to be constructed)
Speakers (borrowed)
Midi Synthesizer (borrowed)

CoBox Micro for Serial to Flash

IDC connector, DIP plug, 14 pin Jameco 42657
IDC connector, 14-pin socket Jameco 153947
28AWG 16-conductor ribbon cable, flat, rainbow Jameco 105671
7404 Hex Inverter Jameco 49040

(Older diagram of layout: )

imp table : an r.bray project intro updates phys comp process animation process main rbray itp