Author Options:

Medium-range proximity sensor, aka, super Hall Effect sensor Answered

I need a sensor to use with an Arduino. I've been thinking and researching for months, but I still haven't been able to come up with something feasible and good.

Basically, I want a sensor that can measure its distance to a specific object.
Id est, object A knows it's distance to object B; not to any other object, like the surrounding environment, ONLY the distance to object B.

The sensor should be able to measure the space around it, ie, the sensor measures distance not linearly - like an IR sensor or an ultra-sonic sensor - but spherically.

I think Hall Effect sensors can do that.

The problem is: I want distances ranging from 10cm - 1m (4 - 40 inches) and a Hall Effect sensor can't do that, right?

And very strong magnets and Arduinos don't really go well together...

So.. what can I use to do this?

Thanks a lot! :)


You're right that hall effect sensors won't do what you want with any reasonably sized magnet.   Unfortunately the distance you're looking for is pretty hard to do accurately with existing, cheap technology.

Radio waves is probably what you'll have to use, but it might not be ideal. You'll more or less be using signal strength to measure the distance, and that can be attenuated by stuff getting in the way of the signal.

The first thing I'd look into is an RFID reader. Cheap ones don't offer signal strength indicators, but more advanced models can. They're generally pretty easy to interface with an Arduino, usually through a serial connection.  You might have to use two or more readers to get a semi-accurate reading to a specific tag.

I found these guys in an internet search, but the product looks really expensive, and probably overkill for your project.

About that radio waves idea... Do you know anything that can sense the strength of a specific frequency determined by me? Preferably something that would be easily used with an Arduino...

The closest I know if is this little guy from Sparkfun: http://www.sparkfun.com/commerce/product_info.php?products_id=9821

It communicates via serial so should interface with Arduino no problem.  It has a range of possible frequencies to choose from and lets you set sensitivity.  Not sure how well it will work at close range since with an antenna it has a range of up to 500 meters.  Check the manufacturer to see if there are other variations of this transceiver that might suit you better.

Thinking more about the problem...

You might be able to use a magnetometer and a magnet to get more distance.  For example this magnetometer is many orders of magnitude more sensitive to magnetic fields than a basic hall sensor.  (0.015uT vs 500 uT for a hall effect sensor.  The earth's magnetic field is between 30-60uT, so you'll need to be stronger than that to filter it out as noise.) If you can put some electronics on the device to be tracked you can pulse current through an electromagnet and use the magnetometer to detect the pulses which will make it easier to detect and filter out noise than an invariable source.

A hall effect sensor will only detect a magnetic field - in general over a short range although there are ways to extend it's range.

You appear to want to make some kind of short range radar system to sweep a volume of space.

To do this you really need to either send out a signal that will be reflected back, radio or sound or light, or you need to detect some property of the objects you are looking for , heat, colour, brightness or similar.

A capacitive sensor will detect objects over a fairly short range but I think you may be asking for the technically complicated or impossible.

The nearest thing I could suggest to do what you want is to scan the space with a web cam and find some way to interpret the resulting picture.