Recommendation for sensor to use to detect human proximity - ultrasonic or IR ?

Hi fellow Arduino hackers,

I have a project in mind for which I need some guidance. My project is to create a LED heart that shows an 'beating' animation where the animation would get faster and faster as a person approaches it. And it would get slower and slower as a person goes farther and farther away. After a certain critical distance, the heart would drop to it's natural beat (which I can program to be 72 beats per minute).

Example: Beyond 5 feet, I want it to beat at a constant rate of 72 beats per minute. Within 5 feet I want the beating to get faster if I (of my girlfriend) approach it and slower if I (or my girlfriend) go away from it.

(Yes you guessed it right, this is for my girlfriend as a Valentine's day present :slight_smile: )

I will be using this heart LED kit from: http://jimmieprodgers.com/kits/openheart/

But my main question is regarding the sensor. I want a sensor which would meet the following requirements, in order of decreasing importance.

  1. Be not a high drain on power.

  2. Be reasonably priced.

  3. Be omnidirectional.

  4. Be reasonably accurate in measuring the distance. Since I am not using it in a robot for object avoidance, I can tolerate a little bit of inaccuracy.

  5. Responds only to human proximity. I don't want it to respond to non-animate objects, like closing doors etc.

I did some googling and I think this sensor meets requirements 1 and 3: http://www.amazon.com/Vivotech-Ultrasonic-Distance-Measuring-Compatible/dp/B0089VA3AY/ref=sr_1_1?ie=UTF8&qid=1391214324&sr=8-1&keywords=arduino+distance+sensor
But I am not sure how it will perform with regards to power.

It would still get triggered by doors and non-human objects, right? Plus it would be very directional, am I right? I think I can accept a sensor which will work for non-living objects, because most likely the gift won't be placed next to a moving door. So I am willing to compromise on requirement 4 if it comes to that. But the rest of them (1-3) are pretty darn important.

Can anyone tell me if I can achieve all my goals using a IR sensor or if I can achieve most of my goals using an ultrasonic sensor only?

Thanks in advance,
Ob1

  1. Be not a high drain on power.
    The HC-SRO4 that I have seems to draw about 5 or 6 mA. I power it from a digital output pin so I can turn it off if necessary.
  1. Be reasonably priced.
    HC-SRO4 ultrasonic distance sensors can be had for under $2 each: http://www.fasttech.com/product/1012007
  1. Be omnidirectional.
    I don't know of any such sensors. Perhaps you can use a bunch of somewhat directional sensors.
  1. Be reasonably accurate in measuring the distance. Since I am not using it in a robot for object avoidance, I can tolerate a little bit of inaccuracy.
    The ultrasonic sensors are reasonably accurate.
  1. Responds only to human proximity. I don't want it to respond to non-animate objects, like closing doors etc.
    Good luck with that. I don't see how you can measure distance to an object only if that object is attached to a human. If you could tag your girlfriend with a Bluetooth Low Power tag you might get a rough proximity reading. That option might not be available on Arduino for a reasonable price.

check out the [ur=http://www.maxbotix.com/Ultrasonic_Sensors/Rangefinders.html]MaxBotix [/url]things. they are not cheap (about 25Euro) - but excellent in detecting and stable readings - i have used theme for an art installation. if you cam near the object the light goes on - lightlevel was mapped to the distance..

you can also try to use the sharp IR sensors. there are different types for different distances. i also used one of theme - but not for distance meassurement - i used it as 'beam-breaker' they are relative noisy and have an extreme small active area.

for 'only human' i think you can try to combine on of the above with an PIR Sensor
there are some presence sensor that use radar / microwaves.
but they are also expensive..

sunny greetings
stefan

ob1kenobi:
After a certain critical distance, the heart would drop to it's natural beat (which I can program to be 72 beats per minute).

72 bpm is not a normal heart rate for a young fit person in quiet surroundings. :smiley:

According to wiki (?) any where between 60 and a 100! is normal for a any one over 10. Pulse - Wikipedia

Mark

Beyond 5 feet, I want it to beat at a constant rate of 72 beats per minute

If the heart is an LED you will not see it beat/flash the human eye would see that as a constant brightness. The limits about 10 beats/sec if you want flashes not brightness.

Mark

The SRF-04 and similar sensors offer reasonable accuracy at several meters distance, but as you noted they also respond to inanimate object motion.

I would consider a PIR sensor as a heat related motion sensor combined with the SR or MaxBotix devices. Several may be needed to obtain the correct arc of view.

If you are using multiple ultrasonic sensors with a PIR, I suggest using the PIR with an interrupt (look up ISR - Interrupt Service Routine) to trigger polling each ultrasonic in turn. It is much more energy efficient and reliable than pinging continuously.

I might try something like this for a deer deterrent device. Please let us know how this project turns out.

:slight_smile:

holmes4:

Beyond 5 feet, I want it to beat at a constant rate of 72 beats per minute

If the heart is an LED you will not see it beat/flash the human eye would see that as a constant brightness. The limits about 10 beats/sec if you want flashes not brightness.

Mark

You're thinking of 72 beats per SECOND. 72 per minute is quite visible.

holmes4:
According to wiki (?) any where between 60 and a 100! is normal for a any one over 10.

Oh well, I stand corrected. How would I know after all? :astonished:

arbutus:
I would consider a PIR sensor as a heat related motion sensor combined with the SR or MaxBotix devices.

Actually, just a PIR sounds like a good idea. It should give more output the closer the person comes. The fact that it may settle if they stay very still need not be a great problem.

arbutus:
If you are using multiple ultrasonic sensors with a PIR, I suggest using the PIR with an interrupt (look up ISR - Interrupt Service Routine) to trigger polling each ultrasonic in turn.

Interrupts! Ugh! :frowning: