

This guide explains how to get the best out of this forum. How to get the best out of this forum Installation & Troubleshooting Please take a few moments to Learn and Use The Forum The receive chain is a series of tuned amplifers with some sort of detector (amplitude in this case) at the MERGED. The transmitter is simply an untuned "high voltage" differential output to the piezo. Whether or not this is appropriate for your application, the circuit shows the general flow. The time required to let echos die away limited throughput to about 100 baud. 10 ms from start of pulse to start of next pulse is a "0" and 15 ms is a "1", or some such. The best scheme I tried was pulse position based, e.g. In an indoor space, at least, echos are persistent and not well constrained so coding on pulse duration didn't work well and this is probably also an issue for phase modulation. The piezo transducers are highly resonant so frequency shift keying didn't work well. I bit banged the transmit with digitalWrite() and delayMicroseconds(), but the toneAC() library would also work to generate a differential signal.įor the receiver I simply tapped off the "Signal" net at pin 10 of the microcontroller and interpreted this in code. To transmit, one sets "HVOff" low and sends the differential signal on Tx1/Tx2. I removed the OTP microcontroller entirely, but you really only need to isolate pins 12,13,14 to control the transmitter. (Link to schematic of the version I used)

For both the transmit and receive side I used a modified HC-SR04 ultrasonic echo locator, so a 40 kHz piezo device. A while back I did some experiments in ultrasonic serial communications.
