-- revised --
I got the device below from mpja.com.
And I followed wiring and programming advice from--
Running their sample program gave consistent results (within 5cm at 5m, within 1cm at 3m). But that was with no load on the Pi. When I ran my 10,000-place pi calculation (code listed in an early post) in the background, I got wildly longer readings -- 5m went to 7m.
Here's my mod of pi-spy code:
I have tried modifying the process priority of the rangefinder.py script. I tried the Unix/Linux nice(1) command. It was named "nice" because a non-super-user can only lower priority, not raise it. Anyway, didn't help.
I tried the code at--
Also, inconsistent. So I finally changed the python script above to do 3 readings and only keep the lowest. That worked pretty well (within 2cm at 2m). But (reasonably) accurate back-to-back readings will be 2 seconds apart. Not much help for a vision-impaired person checking for the next curb.
What I really need is for the ECHO pin to cause an interrupt (instead of the code looping)!