Go Down

Topic: 360 degree motion detector (Read 4396 times) previous topic - next topic


Jun 18, 2013, 05:25 am Last Edit: Jun 18, 2013, 05:27 am by Boffin1 Reason: 1
This is just a bit of musing about a possible project.

I know I could use some PIR sensors, but A)  I don't like them, and   B ) I thought I could have some fun with a 360 degree motion detector.

I was thinking of having an I/R detector/ amplifier looking up at the tip of a cone, to receive from 360 degrees.  I could have a slot and an IR filter around to block other light.

Below this is a ring of 32 ( say ) narrow beam ILEDS driven by  shift registers which could supply enough grunt to pulse the IREDs at high power ( TPIC6B595 perhaps )

I could chop the drive at 40 Khz and use a synchronous detector in the receiver.

The detector/amplifier would be ampitude dependant ( not the detector modules with digital output )  which would feed the received light level to an analog pin of the Arduino chip.

The chip would know which IRED is on, and could build a map of the signal from each of the 32  x 11 degree sectors.

Hopefully my programming skills would allow me to detect different changes in particular sectors and ignore overall changes due to ambient light variations.

I want to be able to have a camera/funny face/machine gun / whatever,  mounted on top to follow somebody walking around a room for instance. ( while still detecting if there is new movement from behind )

The speed of "rotation" would have to be slow enough for the analog input to sample each sector.  

If I have a fairly low impedance from the opamp in my IR receiver, what sampling rate should I be able to achieve with a 328 ?
45 years of editing projects with a knife and soldering iron, then I found Arduino !


Hey Boffin, I think I understand what you're trying to do, but IR detectors and Leds are
mainly used for very short ranges. In robotics, we use what are called IRPDs = IR Proximity
Detectors, but they are useful only out to about 18" or so, and don't have very good
resolution, typically 20-30 deg of angle. They are nice for telling whether a robot is
about to bump into something, but not sure about your app. You might look at some
of these things by doing a google search on "IRPD".


I'm working on a project using an ILX511 CCD chip and using an MEGA or UNO I can analogue read in about 18uS but with overheads of storing results and driving clocks signals etc I take about 24uS per sample. This is almost flat out as fast as I can get. I sample the entire array (every other pixel on UNO due to lack of RAM) then pump the results out over serial for processing.
Don't PM me for help as I will ignore it.


Jun 18, 2013, 09:42 am Last Edit: Jun 18, 2013, 09:59 am by Boffin1 Reason: 1
Thanks guys,  

the IRPDs are like those I have made in the good old 555 days, but I want quite a large range, and in sunshine.

I used to make a TV remote control extender back in the last millennium, that had the IR LEDs - 4 of them in series -  on top of the TV rooms TV. I pulsed them at about 1 amp.

The pulses would beam out across the room and bounce back from any furniture or walls onto the front of the VCR / sat receiver etc.

(  BTW   The unit was on top of the TV as I sent the pulses through the coax screening, so it couldnt be installed across the room like a hardwired version.)

The longest range I personally measured was a hall about 20 meters long, and it worked fine.
Of the 1000 sold I never heard of a complaint that it didn't work.

I am making a security beam for gardens that has over 20m range in sunshine ( with 6 IREDS driven with short pulses of 38 Khz ) but I think for the new project  I will need a continuous 38 Khz - commutated around the circle of IREDs.

I don't have to use 38 Khz, as I will be making my own receiver.

24uS is pretty fast Riva, so I think that will not be a problem, I can scan all 32 IREDs perhaps 4 times a second for my idea, so there should be plenty of time.

If I ran it slow enough, I wonder if I could sample the on and off receiver levels of the pulses to do the synchronous detection easily in the software ( subtract the off Rx level from the on level each cycle ? )
45 years of editing projects with a knife and soldering iron, then I found Arduino !


TV remotes have 20-30 foot range for direct comms, but you're talking about doing
a form of imaging and movement detection here. That's a much different


You could try a ultrasonic rangefinder on a 360° servo...it works pretty well, but you'd need to modify the servo first.



it works pretty well
...apart from  not knowing which direction your range finder is pointing without extra hardware
"Pete, it's a fool (who) looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.
I speak for myself, not Arduino.


None of those will do "motion detection" unless you acquire and compare successive
readings. And it'll take a second or more to do any sort of servo-sweep with acquisition
using any sensor at all.

Boffin clearly wanted a system to sense over 360 deg quickly, thus the reason for the
cone. If you really want to do motion detection this way, the best method is probably to
use Riva's CCD to look at the cone, rather than any of the other sensors mentioned so
far. Then do some image processing - this could probably be done with an Arduino if
you sample the CCD at low-resolution. I imagine 32x32 pixels would be adequate for
movement detection.

I've seen those things before, years ago, but cannot find the right words to do a successful
google image search.

OTOH, for something simpler, what might work is to simply use a ring of LDRs looking
at the cone, and which use 1/2" of so guide tubes to limit their individual FOVs. When
the light level changes, the LDR indicates something moved/changed. But you also need
a way to eliminate false-positives, due to changing ambient light levels, etc.


As I say you can get a lot more than 20m range reflected from suitable targets.

If I can keep the angle of the individual IREDs narrow ( perhaps in a tube ) then  if say a person walked toward the sensor, apart from the signal getting stronger , it would also get wider as it was illuminated by more by adjacent IREDs.

So I could get a vague sense of range, which I wasn't looking for particularly.

I can't think of any advantage of that at the moment though :-)  apart from a collision warning.

I have another 2 jobs come in today ( thank heavens )  so my playtime experiments must be shelved for now.

Thanks for your ideas.
45 years of editing projects with a knife and soldering iron, then I found Arduino !

Go Up