ultrasonic sensors


I am trying to set-up a system where I'll have four ultrasonic sensors, one on each wall of an square room, to track the location of a person walking around in that room. I am wondering if I could use something like this parking sensor...


...and somehow modify it to send information to the arduino. Would the code for using multiple ultrasonic sensors to track this kind of movement be ridiculously hard to figure out? Are there any other methods that might be easier/more efficient to accomplish this x,y coordinate without having to have the person carry around any sort of sensor on them?

Thanks for any help, Dave


Martin lighting systems has something caled the Martin Lighting Director that does just what you want..

The problem with 4 sensors ojn the same frequency is that they will read each other's transmissions and you wil get messed up results!


Thanks for you help Daniel.. from what I can tell the martin lighting system uses a transmitter carried by the person that it tracks and is more $$$ and more advanced than I require. I need to be able to do this without the person in the room carrying anything and ideally for less than $100.. would I be able to modify the frequency of a few ultrasonic sensors so that I could use four of them in the same room to track movement and report it to max/msp without them interfering? or maybe use some very small delay so that none of them were "pinging" at the same time?

Piezo sensors have a natural frequency and you can't push them very far off without degrading their operation.

Sound goes about 1 meter in 3 milliseconds. So if your room is 4 meters square it should take about 25ms to get a reading from a sensor (out and back). You probably have to wait for the reverb to die down, that could be another 25ms, maybe zero, maybe more. Then you can move to the next sensor. It seems reasonable that you could cycle through all four sensors 5 times a second.

A couple more issues... - If you try to re-use a premade range finding device it might have trouble being powered up and responding right away. - Disc type piezos can be very directional. you might go blind in the corners as people get out of the angle of view of the adjacent walls and are difficult to distinguish from the earlier and stronger opposite wall reflections. (I was assuming placement in the center of the walls, if you place in the corners this may not be true, but you might have to slow your sample rate for the longer distances.) - I have some cylinder shaped omnidirectional (2d) piezos. They are nice for wide angle sensing, but are not very sensitive. You really have hammer them to get the signal out, and I haven't tried listening with them but I expect the are equally weak there.

I have had success with the PING and SRF04, both are easy to program, but the PING only uses one digital pin. I don't think they would work mounted on the wall, they would need to be mounted in the person. Can you get the location with two perpendicular walls.


I mentioned the Martin Lighting director as I know the designers and have seen the guts of the machine. It's pretty close to what you want to do, and it also works by triangulating position from ultrasonic sensors, so it's perhaps a benchmark for the complexity of sensing someone in real space. To make the MLD they ( numerous engineers and programmers) invested large amounts of money and more importantly time... the result is very good, but it is highly complex in technical terms. They are also really fantastic and savvy engineers, so if there was a simple solution using multiple ultrasonic sensors, they would have come up with it!

Alternately, have you thought of simply using the Very Nervous System by David Rokeby? It allows detection of movement and gesture in real space, using a video camera as input. I believe there is a software version that runs on MAX.