jremington:
One of the difficulties with your idea is the need to measure the amplitude of the return pulse as well as the round trip time. Commercial ultrasonic imaging devices operate at frequencies as high as several MHz, which is not possible with the Arduino.However it should be possible to use the more common 40 kHz transducers. The standard ranging approach is to emit a short train of 8-16 pulses at 40 kHz and then listen for an echo. Any one pulse can result in a reflection. So, to accurately measure the return pulse height using an ADC, you would need to sample the incoming signal at several hundred kHz. That could be done with an external ADC, but not with the built-in ADC.
Commercial ultrasound units use high frequency transducers, because they need very short wavelengths (inversely propotional to the frequency) to achieve high spatial resolution. I understand that this cannot be done with an Arduino but I don't need high spatial resolution. What I'd like to achieve is similar to a ultrasonic parking sensor's display but wihich is more complicated operationally . If your car is equipped with a screen , the distance of an object can be roughly drawn on it. I assume these parking sensors use a simple logic and only display a range of distance, not the actual distance or the shape of the object (if it measures less than 100 cm, it highlights a green line, if it is less than 30 cm it highlights a red line more close to the car). This isn't very different on lighting a green led if the measured distance is less than 100 cm but more than 30 cm, and lighting a red led if the distance is less than 30 cm. etc. What I want to be able to do is to be able to demonstrate more than 1 object in the same line of sight with a more accurate representation of their distance (also their shape, but this would require more than one transducer).
By the way, I am a radiologist, and medical ultrasound is my main area of interest. Of course, I am not trying to build a home-made medical ultrasound device (the one I use costs 150.000 USD, much more expansive than an Arduino! ) I just wanted to see if it is possible to expand the use of ultrasonic sensors, which are only used for simple distance calculations, and be able to show dots on a screen relative to the position of different objects.