Detecting modulated VISIBLE light

Hi everyone,

I'm building an underwater break beam sensor and need to be able to detect visible light in the blue or green end.

Is there a module that can do that or is there a way to get an ATTINY85 to detect modulated visible light?

I've tried IR break beam systems but the water prevents transmission beyond 40cm. I need 1.5m.

Any help appreciated.

Thanks!

For the detection end, you will need an active filter with narrow bandwidth, implemented either in a separate circuit, or in software. Here is a simple, fast autocorrelation tone detector that will work on any Arduino.

Tone detector ICs like the LM567 work well and circuits for IR beam break circuits using them are on the web, like this one. You could substitute a blue or green LED for the IR emitter and detector.

Commercial implementations of visible, modulated beam break systems are available.

Thanks!

If I could get a commercial module to try out it would be pretty cool. Would you think the "object sensing" modules would work for that?

-Nathan

Use blue laser from a laser pointer?

Then the other side use a photo transistor with a blue filter....?

A decent sensitive silicon photodiode/transistor in a clear package will respond reasonably across the entire
visible spectrum, though its more sensitive at the red end. Perhaps use with green LED rather than blue
though for best results.

"Is there a module that can do that or is there a way to get an ATTINY85 to detect modulated visible light?"

Back in the day, the way the movie people added sound to the film was using a modulated light beam and "talkies" were born (see below). You might google "flashlight audio beam" for more simple experiments.

I posted some demonstration code in the thread at the link below which implements a 1 kHz audio tone detector with good out of band rejection. It was for an audio tone rather than a modulated light detector, but broadly the same idea. I've run it on an Arduino Uno with the ADC running 2.5k samples/second and on a STM32 (72 MHz 32-bit ARM microcontroller) running at 40k samples/second.

https://forum.arduino.cc/index.php?topic=632516.15