[Chonggang Li] wrote in to share a link to the final project he and [Ran Hu] built for their embedded systems class. It’s called Piano Hero and uses an FPGA to implement a camera-based touch screen system.
All of the hardware used in the project is shown above. The monitor acts as the keyboard, using an image produced by the FPGA board to mark the locations of each virtual key. It uses a regular VGA monitor so they needed to find some way to monitor touch inputs. The solution uses a camera mounted above the screen at an obtuse angle. That is to say, the screen is tilted back just a bit which allows the images on it to be seen by the camera. The FPGA board processes the incoming image, registering a key press when your finger passes between the monitor and the camera. This technique limits the input to just a single row of keys.
This should be much simpler than using a CCD scanner sensor, but that one can track two-dimensions of touch input.
Nice, almost makes me feel ashamed for my embedded systems project.
Don’t be ashamed, you can always blame your teachers. This projects reflect the kind of teaching they got. (lectures, labs, teacher-student interaction, etc) Of course you could be given a datasheet and a FPGA and do it all by yourself, but they have a whole semester of learning and getting inspired. I belive there’s a lot of work from the teacher into giving them resources and enabling them to create great things.
I guess that this only works vertically. It would need another camera on one of the sides to make it work like a full touch screen. Nice project no doubt
Kind of cool… i mean, you could also just buy an IR grid for any monitor and you’ll get multitouch as well…
IR Grid? how droll. you can buy on ebay capactive and resistive touchscreen kits for most monitors for dirt.
The cool part of this one is it can be adapted to extreme environments. use a 1″ thick polycarbonate screen protector and you now have a loser gangbanger proof touchscreen.
would be nice for a “aset niop” keyboard on screen or on any surface just by using the camera.
may i know what type of camera do u use?
coz, im using digital camera, and somehow it does not work..