I've seen quite a large number of postings by people looking for sonar devices for robotics use. The commonly suggested solution (the Polaroid sonar module) has several drawbacks, however: 1) it's expensive ($50 each or so), 2) it needs modifications to measure short distances, 3) the transducer used is fairly large (1.25" or so diameter), and 4) your processor gets tied up calulating the range by timing the reflected chirp. Owing to the success of the various serial LCD "backpack"-type devices, I thought it would be useful to develop a low-cost kit for an ultrasonic ranging unit, that could be accessed using some simple serial protocol. I envision this "Serial Sonar Unit" (SSU) being a small PIC-based PC board, with connections to a pair of Murata 40 KHz transducers like the ones sold by All Electronics for $2.50 a pair. The SSU would have two modes: continuous reading, and on-command. If set to continuous mode, the SSU would continually send out, and time the echos of, tone bursts, storing the most recent result internally. When polled, it would return the most recent reading. In on-command mode, the SSU would wait for a "go" command of some sort, then send a pulse and time its return. If polled before the measurement was complete, it would return some sort of "busy" indication. If polled after the measurement was complete, it would return the measurement. My intent is to come up with a design that will save my fellow hobbyists some time and money, and will make it easy to incorporate sonar ranging into PIC and other small microcontroller-based projects. Offloading the timing, transducer drive, and calculation tasks to a dedicated SSU will allow the programmer to concentrate on the tasks to be done, not the ranging implementation. Allowing single-shot or continuous ranging will allow simpler implementations to use the continuous mode, and multiple-unit configurations to use single-shot mode to avoid interference between transducer pairs. Details to be ironed out include: - Protocol for commands, including mode changes - Data format for measurement data returned Inches? Milli/microseconds? Binary or BCD? - I2C, SPI, or none of the above - Baud rate/clocking (async 9600/4800/2400/1200? Autobaud? Sync?) - Distribution mechanism PIC code/Schematics/PCB layout on web for download? Preprogrammed PICs and etched PCBs for purchase? Both? I am just at the "fleshing out the idea" stage, and I would appreciate any feedback as to whether or not anyone would be interested in such a device. Also, I want the SSU to be as useful as possible, so I would love to hear everyone's input on the implementation details I outlined above. I figure that the discussion would be most valuable if everyone could participate, so please send replies to the PICLIST instead of directly to me. Thanks in advance, - Rick Dickinson +--------------------------------+------------------------------+ | Rick "The Notes Guy" Dickinson | Views expressed by the author| | Lotus Notes & Domino Solutions | are not necessarily those of | | (818)563-1061 rtd@notesguy.com | Enterprise ArchiTechs. They | | http://www.eArchiTechs.com | might not even be mine.... | +--------------------------------+------------------------------+