Detect when device pointing at object

arduinodetection

Let's say I have a square. I also have a device that has an emitter of some sort. I need to detect when my device is pointing at my square.

Here's my question:
What emitter and receivers can I use to detect like this without anything visible?

Things I've thought about trying:

  • Lasers – No. Clearly visible on object
  • IR – No. Not accurate enough.

Any suggestions would be appreciated.

Best Answer

What you want to do is possible, but it will take some work.

Start with the emitter. Go on eBay and search for "focusable 980 nm laser". This will get you a compact unit which can be defocussed to produce a roughly 6" spot. You'll need either IR viewing gear to determine the size of the spot at the distance you'll be working at, or you can fix the emitter and use a detector to map the spot size. At any rate, the spot size must be well under the minimum separation distance (which you have specified as 12 inches). What you'll get is a cheap unit, and you may need to add heatsinking to it to allow it to operate for long periods of time without overheating. You will also need to educate yourself on the subject of eye-safe calculations (start here, for instance http://www.laserpointersafety.com/safetyinfo/safetycalcs/ Note that when you defocus the pointer you increase the divergence).

The detectors can be an array of photodiodes connected in parallel. BP104's are cheap (~ 50 cents a pop), and you'll need an array of about 24, connected in a 4 x 6 array on 6 inch spacing. Make sure you get photodiodes which are responsive at 980 nm - not all are. Connect the diodes in parallel and you'll only need one amplifier per array. The diode array can be covered with a piece of IR-transmissive plastic sheet, which will appear glossy black. If you decide you need a smaller dead band around your "square", you can just sharpen the focus of the laser module, but then you need to decrease the spacing of your photodiodes accordingly, which will increase the number you need.

With IR-transmissive plastic in place, you may be in luck, and be able to just do a DC-level detection to detect the beam. If you've got variable background lighting, particularly sunlight, you'll need to do more work. In this case, make sure the laser diode module you get has TTL modulation capability. Run the module at some frequency such as 1 kHz, and use a 1 kHz bandpass filter on the output of your detector amplifier.

If you're still having problems, you need to do something like make a phase-locked loop to pick up the modulated signal, and in extreme cases you may need to make a lock-in amplifier.