I have a hobby of heliographing (sending messages using reflected sunlight), and have a working setup that requires a human to adjust a mirror to follow the sun, interrupt the beam of reflected sunlight to send, and most critically to detect flashes on the horizon to receive.

I am planning to automate the process. Tracking the sun, and interrupting the reflection are pretty straight forward and shouldn't require a processor, but I'm at a loss about detecting a reflection on the horizon.

My best guess so far is using a digital image and looking for bright spots, but that gets me into the realm of image processing and that sounds like a very big time sink.

Problem: I need to detect a bright reflection far away. The input is a bright point source in a smallish visual area. The output can be any other signal the correlates to the input on tens of millisecond scales.

Does there exist a device or technique to get this done?

  • 1
    \$\begingroup\$ Image processing might not be as hard as you may think. You basically would mask out everything but a few pixels and then threshold based on the net brightness of that region. If you're completely adverse to image processing though, I suppose you could do something like a telescope with a photodiode and a neutral density filter. Lot more expensive than a camera, though. \$\endgroup\$ – Peter Sep 29 '16 at 17:30
  • \$\begingroup\$ How well do you know the location of the far-away sender? Can you aim something at them? If so, you could put a LDR/photodiode at the end of a long tube so it can only "see" them. Some basic collecting optics might also be good. \$\endgroup\$ – Jack B Sep 29 '16 at 17:31
  • \$\begingroup\$ For reference, here is a tutorial on doing bright spot detection with openCV - you'd use this to find your mask: pyimagesearch.com/2014/09/29/… \$\endgroup\$ – Peter Sep 29 '16 at 17:31
  • \$\begingroup\$ Have you considered a small telescope, with correct magnification, directed towards the area. A problem will be light coming in from other angles. Baffling, wavelength filtering, and frequency (eliminating DC, for example) may all play a role. Can you discuss what you've considered along these lines, why you rejected them, and discuss more about the frequency information on the flashes of light to be expected and received? \$\endgroup\$ – jonk Sep 29 '16 at 18:11
  • \$\begingroup\$ @PeterK please consider making an answer based on your comments. \$\endgroup\$ – user117772 Sep 29 '16 at 20:04

You have a few problems to overcome.
A telescope will improve sensitivity, but will also be susceptible to vibration, so that your light source will appear to be moving around at a rather fast rate.
Your light source will appear to be a point source (like a star). This means that all its light will fall onto one or more (adjacent) pixels of a sensor array. Vibration and sagging of the optical mount, along with the on/off nature of the source means that tracking is almost impossible.
You must discriminate between a very bright pixel(s) against a background average that can vary (as clouds pass by, or shadows appear/disappear).
One possible sensor that I've used before is an optical mouse element. It is a small array, but incorporates some registers that calculate for you some basic image statistics:adns-2620 data sheet You can read registers via standard serial-port protocols. One register gives the average pixel value
Another register gives the maximum pixel value
These are calculated for each frame collected. From these two values alone, you might be able to discriminate between "no signal" from "signal" without having to search for the exact pixel that's brightest.
Some slightly higher resolution, higher frame-rate versions are available (for gamers) that might give better results. An example low-resolution ADNS-2010 image, with mouse lens replaced with a longer focal-length lens:
ADNS-2010 image capture It will be very difficult to improve upon the human eye, and the performance of this system will be markedly inferior.

  • \$\begingroup\$ Something like a cross between an optics solution and a machine vision one. I would need to have a processor for serial, and some lensing to be sure a pixel spikes on signal rather than getting lost in an average, but neither would need to be as strenuous as in a pure solution. \$\endgroup\$ – user117772 Sep 29 '16 at 20:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy