I like this demonstration of an alternate input device by Paul Bishop. He built an Arduino light pen using an Arduino, television, and photoresistor. It works by displaying a series of flashing boxes on the screen, and using the photoresistor to measure if there was a change in the amount of light that it saw before and during the flash.
It seems like a fun way to play around with making your own input capture device, however I suspect that the flashing light might get a bit annoying after a while (unless it could be built into the thing you are interacting with?). It might also be interesting to try a binary search method to figure out where the pen is, which would let you check a much larger part of the screen than just a few buttons.
More:











Could the flashing rate be increased beyond 30 times per second to make it look continuous and the arduino still be able to pick pu that flickering?
Unfortunately, I don’t think it can, because you are limited by the speed of the display that you are using. Some fancy TVs and computers can do 60 or 120 Hz refresh rate, but I’m not sure how you can drive a signal to them that fast (and the poor Arduino might have a hard time keeping up!)
Matt,
You are correct.. which is why a “drawing” type lightpen is nearly impossible to implement with newer screen designs like LCDs. Successive zone approximation (flashing boxes of varying sizes and location to calcuate location by estimation) is slightly faster, but the visual impact of strobing large screen areas makes the method unusable. The extremely slow update of LCDs when compared to CRT electron gun make it impossible to make the location strobing invisible to the user. However, it is somewhat workable to use it for “box selection” purposes, similar to the demonstration video.
However, a game similar to “Duck Hunt” is possible: when the “gun” is fired, the screen is cleared to all black, then only the “duck” is flashed on. If the gun is aiming at the “duck” (the lighted square) then a brightness change is noted and a hit is registered. If there isn’t a brightness change with the flashing of the “duck”, then the gun wasn’t pointed at the proper location, and a “miss” is registered. Creation of the game then just becomes assembling some cute graphics and animation. With a monochrome low-res output (128×96 in this case), creative cartooning may be as much of a challenge as the code and circuitry.. possibly more!
Incurable illness took me from the working world some time back.. you can take an engineer out of his job, but you can never take the job out of the engineer. Arduino takes me right back to being a tinkering, curious farm kid of thirty years ago. For a curious and creative mind on a shoestring for a budget, Arduino cannot be beat!
Thanks for featuring my little demo! Though not terribly useful as a “standard” drawing-type light pen, this design can be used to handle a short-list menu selection or a “Duck Hunt” type shooter game. With the addition of a small piece of tubing to act as barrel, and adjustment of the threshholds in code, the design can reliably locate as a “gun” from up to ten feet away.
The code and circuit are very simple, go ahead and run with it.. let’s see what others come up with!
// What's Trending
Raspberry Pi Design Contest
Dad Builds Son an Iron Man Arc Reactor
Teardrop Camper Trailer
Seventeen Sneaky Secret Hides
What to do with an 800 Lb Eucalyptus Slab
10 Things to Connect to Your Raspberry Pi
3D Printed Kinetic iPhone Cases
// What's Shared
A better way to slice a pumpkin
DIY Nerf Darts
100 Dollar Store Organization Ideas for Craft Rooms and Beyond
In the Maker Shed: Minty Boost USB Charger
Mad’s Mouse House
Lace Princess Crowns
I Have a (Puzzling) Dream
Play the Rings of a Tree Trunk Like a Record
// Most Commented
Plastic Bags into Plastic Blocks: Revisited
10 Hot New Boards to Watch
Why the Maker Movement is Here to Stay
MAKE Asks: Roadside Hacks
DIY Hacks & How To’s: Convert From Battery Power to AC
Ten Tips for Hand Saws and Blades
How To Make Your Own Laundry Detergent
What to do with an 800 Lb Eucalyptus Slab