For my first project, I want to have two UNO boards, one in a fixed position (UNO1), and one in a variable position(UNO2), and detect the precise distance between them. Accuracy of a couple inches is fine within a 10-20 foot range is fine also.
This is how I am thinking of approaching it.
UNO1 send out a radio pulse and start listening for ultrasonic sound.
UNO2 send out an ultrasonic sound upon detection of radio pulse.
This would sort of be like aviation radar with a "sonic return" transponder to allow for accurate measurement over short distances.
Is this a feasible approach?
Also, how would I send out a radio pulse from UNO1 so that UNO2 can detect it? No information needs to be passed.
Why not just use an ultrasonic transducer pair? One sends pulses, the other receives them reflected, the time difference over two is the radial transit time, which can be converted to distance,
These ultrasonic modules are made for just this job and cost a couple of $
G7MRV:
Why not just use an ultrasonic transducer pair? One sends pulses, the other receives them reflected, the time difference over two is the radial transit time, which can be converted to distance,
Because I don't want the system to be directional. If I could get this to work, theoretically I should be able to trinagulate with three fixed position receivers and know the exact position of the UNO sending the signal.
Yes. That would be it. But, since this is a hobby, I am interested in taking my time and learning how this might be done. More interested in the learning part of it right now.
LJDAHD:
UNO1 send out a radio pulse and start listening for ultrasonic sound.
Rather than sending a simple pulse, I'd suggest sending a sequence of bits with the trigger event corresponding to a change in the sequence. For example with the cheap 433 MHz radios, send the radio sequence [H,H,L,L,H,H,L,L,H,H,L,L,H,H,L,H] at 500 microsecond symbol intervals where the ultrasound pulse is sent when the radio receiver sees the transition to the last (bolded) "H", distinguished by having only one low symbol preceding it.. The rational is that this gives the receiver automatic gain control a chance to stabilize and looking for an expected bit pattern allows the system to reject interference or garbage data output due to self oscillation of the receiver.
UNO2 send out an ultrasonic sound upon detection of radio pulse.
For what it's worth, I posted some notes on hacking a cheap HC-SR04 in a thread here: Using HCSR 04 for communication - Project Guidance - Arduino Forum
One issue with ultrasound is that how to make it omnidirectional isn't obvious to me. Perhaps having multiple ultrasonic transmitters facing in different directions? Also, ultrasound isn't going to penetrate objects blocking line of sight to the receivers. With these limitations, I think the scheme can be made to work.
MrMark:
Rather than sending a simple pulse, I'd suggest......
One issue with ultrasound is that how to make it omnidirectional.....
Those are all things I would have never thought of. Thank you. So what I am gathering as to the last part of my initial question, is to use something like this to send the radio pulse.
LJDAHD:
Those are all things I would have never thought of. Thank you. So what I am gathering as to the last part of my initial question, is to use something like this to send the radio pulse.
The superheterodyne variants of that radio pair are generally more robust in the presence of interference and output less garbage in the absence of a transmit signal, but I've used the radios you have linked (a super regenerative receiver) in similar applications and they work well enough.
Those inexpensive receivers take tens of milliseconds to adapt and respond to a signal, and that time will be variable depending on the signal strength. This is due to the automatic gain control built in to the receiver.
Thus, if you use them to receive a start time marker, there will be considerable ambiguity in the timing. Three milliseconds timing error corresponds to about 1 meter of travel for sound waves and 1 meter of uncertainty in your triangulation calculations.
This part of the project alone presents significant difficulties.