Some new research has sparked a great deal of interest for optimizing my multi-touch table and it’s design. My last post hinted that I would start looking around for other solutions for detecting the inferred blobs (touches) on the surface of the screen. So, I started my homework and I found a lot more then I could chew at the moment.
Before I started slapping search queries into Google, I started brainstorming of ways to detect inferred light with a compact design. I’ve never been much of hardcore electronics geek, at least not at the soldering level. So, much of this research is a learning experience. I always love to think of solutions before I start looking at what others have done because it keeps a fresh perspective of the evolution of my progress. Let’s start looking at the problem.
The multi-touch table I’m building is intended to be coffee table sized, much like the Microsoft Surface. I really want a scalable design so that I can utilize space on the tables framework more effectively, and maintain a low cost solution. I’ve already partially done this by replacing the projector, mirrors, and diffuser layer of the table with an LCD panel. We covered the pro’s and con’s already on that issue. But now I’m still left with a camera that consumes a large portion of the table’s underside due to it’s view distance needed to see the entire surface.
A solution would be to build an Inferred Sensor Matrix (or Array) that can detect touches, interpolate them and calculate touch positions based from sensor input. So, I start searching for “IR sensor matrix”, and it looks like the NUI group has some users on the task of building one themselves. The link in the thread also points to some valuable resources, which lead me to learning about Arduino micro-controllers. The Arduino is used to handle sensor input and provide an interface for the sensors to the CPU (through USB).
Arduino really catches my attention for several reasons. First, they’re completely open source. From the software to the actual circuit boards, it’s all released under a Creative Commons license. That alone has already got me hooked. Second, it’s cross-platform. As many may know, I’m a Mac fanatic, but I intend to build my table with a Linux system as well. And Windows users, well, you can be happy too.
So, now I’m back to brain storming. What true power do I have with the Arduino? What other benefits could it provide to the multi-touch table, other then an interface to the IR Sensor Matrix? Depending on the speed, I wonder how well it (if at all) it could handle processing more of the IR sensor input, taking the stress off the CPU. I’ll have to do some more digging to find other projects using the Arduino in a multi-touch setup, but the real results will come with the actual testing.
Now, where’d I put my solder gun?