Distance Between multiple arduinos

Hi everybody :slight_smile:

I'm beginning a project that involves the calculation of the distance between two or more arduinos.
I need to do the Time Difference of Arrival (TDoA) method, sending a RF signal to synchronize the arduinos and manage to calculate the distance from the difference between the time of the arrival of the RF signal and the time of the ultrasound arrival.
The link below have an image illustrating this method:

So, to do this project i will have RF zigbee module for the synchronization and some ultrasonic module for each arduinos .
I need a decent coverage angle for the ultrasonic modules so i found the PING))) from Parallax (PING))) Ultrasonic Distance Sensor - Parallax).
My idea is to put 4 PING))) in each arduino, each facing different directions for decent coverage.

So, i wonder if the PING))) ultrasonic modules will work in this type of project (one transmitting and another one receiving). :roll_eyes:
And if it works, putting all 4 PING))) from Arduino A transmitting simultaneously and the 4 PING))) from Arduino B receiving also simultaneously would be possible?

Thanks!
8)

So, i wonder if the PING))) ultrasonic modules will work in this type of project (one transmitting and another one receiving).

It is always a good idea to read the documentation for the various bits of hardware you would like to use, before designing the system. Your question is very clearly answered both on the PING))) product page, and in the documentation: Download - Parallax

You would need to try it to find out, but I suspect you will find that the ultrasonic transceivers are not very directional so you will get cross-talk between them if you try to use them concurrently. Each ping ought to be quite brief - can't you perform them sequentially with a suitable delay between each one to ensure you don't pick up echoes?

From your diagram, it looks like you want to send a radio ping, and an audio ping from one Arduino, and to receive that radio and that audio ping on each of the other Arduinos. If this is correct, here are a few thoughts.

First of all, the low-cost ultrasonic distance modules such as the ones in the PDF file you pointed to, are set up with a fair bit of internal circuitry that allows them to send a burst, wait for the return, and indicate that return on a pin (the same pin on some models).

I haven't tried doing anything like the method I think want to do, which is to send a ping from one module and receive it on another, but I suspect that the receive side of the module will not be enabled, and thus, cannot receive a ping, until it has been enabled by setting the transmit pin to send the ping.

Unfortunately, using individual piezo transducers to build a custom setup is a fairly complex undertaking, requiring a good knowledge of electronics; amplifiers, detection circuitry, etc., though there are several circuits out there. A search on Google Images for "ultrasonic sensor" schematic will yield quite a few.

Perhaps, if you have access to an oscilloscope, you could find some point on the module to wire into that would allow you to either enable the receiver, or to detect a received ping without having to first ping with the transmitter.

Hmmm... just had a thought. Perhaps this might work...
For the transmit: Leave the unit as is.
For the receive: Disable the transmit, perhaps by unsoldering the Tx element

Method:
Transmitting:
Transmit a radio signal
Immediately transmit a ping

Receiving:
On receiving a radio signal, send a ping on a modified sensor (no Tx).
Wait for a return, as you normally would. It will not be an actual return, but a ping from the other unit.

Should work within about 6.6 metres or perhaps further. This is double what the specs for the module are, but the sound only has to travel one way.

Thanks xD
Humm thats a good idea and probably will work and like you said i'm don't want to use individual ultrasonic transducers.

I did some more search and found the LV-MaxSonar®-EZ0 (Ultrasonic Range Finder - LV-MaxSonar-EZ0 - SEN-08502 - SparkFun Electronics) that seems very good for the project i want to do too.

This ultrasonic from what i see in some examples posted, with some synchronization can be used in my project (one transmitting and another one receiving).

What do you think?