My first touch screen coffee table build based on a short throw projector and an infrared camera optical toch recognition system.
Back in December of 2011 I stumbled on a DIY page on how to make a touch screen table. Once I got it in my mind, I started doing more and more research into it. I decided that I was going to build a touch screen coffee table. The technology this table is based on is projection and is DSI, and optical blob recognition
Diffuse surface illuminations
It all starts with an acrylic sandwich
This technology relies on a special piece of acrylic and a strip of IR around. This acrylic has small metal particles suspended in it. The metal particles reflect the IR light up and down, so by placing another piece of acrylic on top of it which is used as a projection surface, an image is project onto it, the third piece of acrylic then goes on top as a protective surface which users will touch.
Projecting an Image
To get an image to project on the screen I used short throw projector, which is a special style of projector capable of creating a large bright image from a short distance. This is a requirement for a touch screen table based on a projection system — high lumen (3000+) in order to be able to see the projected image in daylight.
A word about the mirror. This is a special projection mirror, which is referred to as a front surface mirror. Basically the idea is that the image is reflected from the front surface of the mirror, standard mirrors, the reflective surface is back plane of the mirror, using such a mirror will create a ghosting effect.
As can be seen from the above image, I have 4 cameras in the setup. My original approach was to use one camera. The preferred camera for these type of touch surface DIY builds is the Playstation Eye camera. This camera is modified (with an x-acto knife) to remove the IR filter, since this system relies on the camera seeing IR. I started with 1 camera, but the standard lens could not see entire screen. I went to 2 cameras, still the height of the table and position of the projector made is impossible for the cameras to see the entire table surface. The next step was 4 cameras.
Projector wiggle room
Projector complication is those things exaggerate even the tiniest movement. So I came up with an arm to attach it to one of the side panels — this affixed it and stabilized the image.
Sometimes 2 is better than 4
After a lot of experimentation, it became obvious that 4 cameras with mid range lenses was not going to work out. The lenses I used produced a fish-eye effect at the corners which made recognition of “blobs” very tricky and unreliable at the edges of each camera. Switching to 2 cameras with high-end wide angle lenses with optical fish-eye correction allowed me to pair down to 2 cameras and be able to have the PC see the entire touch area.
Cooling The System
The projector and the PC will generate a lot of heat, in a closed box this will present a major issue. I went with 4 200mm 12V fans. Made 2 fans pull, and 2 fans push air. This in retrospect is overkill, and hard to balance, but for this build it worked.
The projector had speakers, but that’s really not an option. The trick is I needed speakers which would not protruded into the projection area and would not be seen by the cameras for the purposes of touch detection. I went with marine speakers and a 12V marine amplifier. The system is able to pump out a lot of volume and the speakers are only about 1.5 inches deep.
Powering the System
The power circuit inside the system was actually pretty tricky. The idea was that powering the PC should power the projector, the IR band, the speakers, and fans. The PC power supply could not provide enough power on the 12V rails to power everything, and the projector required 120v anyway, so I went with a dedicated 12V power supply. I split of the power switch from the PC case into a momentary button affixed to the front of the table, this solved the issue of how to turn the computer inside the table. I then created a relay circuit based on a 12V DC relay which was powered by the 12V power provided by the computer. This relay when powered closed a 120v AC circuit inside an outlet inside the table which made this outlet live. Everything which had to turn on when the computer was turned on was plugged into this outlet. Projector, and a 12V power supply.
I wanted to do a dark stain with some sheen to it. I also wanted to use a water based stain to keep the stink to a minimum, so I went with a dark coffee stain, along with an acrylic poly.
I made the table so that the short side pieces attach to the sides of the table with slides (locks) and the top frame goes on top after the acrylic sandwich is inserted into the IR channel. In retrospect, this was a mistake because doing any maintenance on the system required the top to be removed which proved to be difficult.
The final table resulted in a 42″ diagonal image, was 22 inches high (higher than most coffee tables would be, but due to the optical constraints that’s ended being the shortest it could be).
Initially I bought soft magnetic fan covers, this later proved to be a mistake and I ended switching to black acrylic laser cut fan covers.
After a while I found the system lacking and I added a USB/card reader to the front of the case
Final Result Demo
This demo is with Windows 7.
The power cord sticking out was not the best way to power the table, I later reworked that to have 2 outlets on opposing sides of the table and made a power cable which could be plugged into these outlets to give flexibility on how the table is powered.
The optical recognition system is beset by numerous problems. PS3 Camera drivers are very poorly supported. Even paid for drivers are not good. System restart would render cameras non recognized by the system, which resulted in having to power the system off — restart, restore touch system configurations.
Windows 8 is not a mature touch system OS. Waiting for Microsoft to make Windows 8 a functional touch system OS is painful, and makes a touch Windows 8 system marginally useful. The windows 7 touch pack doesn’t work properly with Windows 8. Surface globe, one of the most interesting touch pieces of software, the best demo of the table, doesn’t interact with the windows 8 onscreen keyboard correctly. Pressing on the text input field doesn’t bring up the onscreen keyboard.