Two Arduinos

Is the arduino fast enough to time a ping resonse? Have one set itself up as a master and the other a slave, then ping many times between them, timing the resonse. Calibrate it to account for any delay in processing etc and you get a distance.

Hmmm, a rough estimate seems to be a very short time period, probably too short for the arduino to pick out. I got 0.67 nanoseconds at 20cm.

EDIT: What about the same, but with sound and a mic? Give out an omnidirectional sound at unheard frequencies and detect travel time. 20 cm = .6 milliseconds