@Max & Duane:
Thank you for sharing your project ideas. I was looking for a cheap but fairly accurate ultrasound sensor for a different application (water level measurement of the overhead water tank of my house). I am going to check this out.
Btw...why did you chose urtrasound over Infrared? What is the min-max distance directed?
Max, the other thing I would remind you of is the sequencing of the ultra sonics (say left, back, front, right) to prevent echos from interfering. This is more of an issue with multiple robots in a common environment but the side effect is to reduce the processing overhead to 1 or 2 sensors at a time. The other programming feature that would be nice is to increase the polling on the sensors that are closing in on an object to keep from hitting it. All that said, it would be most helpful if you had touch bumpers all around to protect your furnature.
Max, regarding the ultrasonics make sure you test out the environment that you want to run them in. In robotic competitions we "saw" problems with utrasonics and diamond plate. It seems that with diamond plate the ranging varied greaty due to weird reflections. Be save and test out the environment.. also could be a nice article to write up for others to learn from your experiences.
I did very much enjoy the pun :bouncing back and forth"!! Keep up the puns..
@Max..."I think the on-board electronics on the '04 are just for pulse-shaping/controlling the out-going "ping" and detecting/registering/noise-filtering the incoming response..."
From the timing diagram in the datasheet, when you give it an initiate pulse the module will send out 8 40KHz pulses from the transmitter. Immediately on completion of that it starts the Echo pulse - which it would appear carries on until it detects the end of the echo - that's the pulse you time with your MCU.
The pulse (by my calculations) is 6.4 CM long....yet the unit can measure down to 2 cm. I guess working off the trailing edges of the pluses lets it do this. Quite clever.
Max - I'm not sure what the purpose was. The original documentation just says: "The SRF08 can be used as a light sensor." That type of sensor really isn't senstive enough to detect someone coming into a room,
@Duane: It's just for measuring ambient light. One of the I2C calls returns the value.
My knee-jerk reaction was that someone just happened to throw one on because they had it lying around ... after which it became part of the design.
But then I thought that they may have thought of using the sensor to detect someone coming into a room and activating the room's lights -- in which case they could use the ambient light level to decide whether or not to activate the main lights.