SonicDisc: A 360° ultrasonic scanner

SonicDisc is designed to transmit the calculated distances to another unit, e.g. a microcontroller or a Raspberry Pi. It “talks” over the widely-adopted I2C bus. The communication protocol is outlined in the project’s README and in code comments. Briefly, SonicDisc, which joins the I2C bus as a slave, can receive the operational mode it should be in. Moreover, it will transmit, upon request, a 9 byte “packet” containing an error code and the measurements from each sensor. Furthermore, it will send a very short pulse (~3μsec long) over the “INT” pin to indicate a new set of data being ready for transmission. This saves the master device the trouble of continuously polling SonicDisc for new data.