[Sprite_TM] was cleaning up his hacking workbench when he came across an all-in-one device that had seen better days. After a bit of consideration he decided to tear down the scanner portion of the device and ended up turning it into a multi-touch display.
The scanner relies on a long PCB with a line CCD sensor. This sensor is read in a similar way that information is passed along a shift register. Tell it to take a reading, and then start a clock signal to pulse out each analog value from the pixels of the sensor. In order to scan color images it uses multicolored LEDs to take different readings under different illumination.
[Sprite_TM] takes advantage of this functionality to turn it into a multitouch sensor. The sensor board itself is mounted below an LCD display along with a shield with a slit in it to help filter out ambient light. Above the screen a series of LEDs shine down on the sensor. When you break the beams with your finger it casts a series of shadows which are picked up by the sensor and processed in software. Watch the clip after the break to see it for yourself. It has no problem detecting and tracking multiple contact points.
[youtube=http://www.youtube.com/watch?v=Avb23FWcEeU&w=470]
Not bad at all! :D
I have one of these sensors laying around from a dead printer I ripped apart for the stepper motors. I didn’t think it was going to be useful for anything, but I’m suddenly glad I kept it.
Nice Model M keyboard. :^)
Awesome work, as usual. This is an interesting take on a multitouch implementation.
the problem with touchscreens is not in technology but in usefulness
Andy: Was just gonna say that… got one myself, did a double-take when I saw his.
Very interesting project… I think I have an old scanner laying around. Could be fun to try this.
Really nice idea. At first I thought you’d need two of the sensors to get XY coordinates. Would love to see more about the software that figures out the contact points from the different shadows.
Seriously, this is cool stuff. One of the things I do at work is program an old monochrome plasma IR-matrix touch screen. It’s amazing how a design using far fewer beams can have multitouch and higher resolution!
lol, fairly simple and yet no-one else who thought of it.. :) great hack!
As I mentioned to him last weekend, [Sprite_TM] has come full circle: his first hack featured on HaD was a mouse-turned-scanner, now he has made a scanner-turned-mouse. :D
http://hackaday.com/2006/01/07/optical-mouse-based-scanner/
I agree with [Sprite_TM] that I prefer keyboard/trackball for my *vertical* display. But, for a big, horizontal multi-touch display, using – say – libTISCH (HaD, 10/29/09)? Add a driver, and now we’re getting somewhere.
How does it register “clicks” (ie mouse down/up). As long as you can’t register pressure or forward movement of the pointing-device it’s not very functional.
does any1 know if he made a tutorial? i have a couple old scanners lying around and think this awesome! but betting need nix to run… :( im on windows
oosterhagen: Touches *are* clicks.
@Therian: You’re right!
I bought an 8" Lilliput LCD with touch a few years back for a media center project but I always ended up using a USB mouse instead. (Of course, it had a stylus and was not touch in any modern sense.)
I’m getting rid of my iPod Touch 4G and getting an iPod Classic 5.5G 80GB. I miss the good ole days of toting around my black 30GB iPod 5G, and I’m bringing the good times back!