Thank you for linking to exactly what you are talking about -- it makes it much easier to get to the data sheets.
The question "How can I use more than one MaxSonar®-EZ1™ in the same system?" in the MaxBotix MaxSonar FAQ lists several ways of using a bunch of them at one time (and some pitfalls to avoid).
Some of them use 2 pins of the MCU -- the same number of pins as I2C, but a completely different protocol.
If I understand the data sheet correctly, one of those 2-pin methods is:
- wire pin 1 low the MaxSonar to enable chaining
- Wire an output pin from your MCU to the RX pin of the first MaxSonar in the chain.
- Wire TX of each MaxSonar to RX of the next in the chain
- Combine the signals from all the MaxSonar PW pins (AND? OR? NAND? diodes?).
- Wire that combined signal to a timer input pin on the CPU.
Then software on the MCU
- pulse the RX pin of the first MaxSonar
- Time the first pulse width to give the distance the first MaxSonar sees
- Time the second pulse width to give the distance the second MaxSonar sees
- ...
- After getting the pulse from every sonar (or timing out at 49 ms per sonar), do something with the data.
- repeat.
Perhaps one of the other methods listed in the FAQ would work just as well or better for you.