Hi - someone asked me about this the other day so here is the info I gave him:
--Roy
This is the sensor I used:
http://www.acroname.com/robotics/parts/R48-IR12.html
comparison of the Sharp sensors:
http://www.acroname.com/robotics/info/articles/sharp/sharp.html#e8
I got a better price at http://www.pololu.com/ as I recall - but wherever you buy it *Be Sure to get the connector with it - it's a non-standard connector that is hard to find.
Here's some code for reading the sensor:
http://www.tigoe.net/pcomp/code/category/arduinowiring/44
Using a capacitor with the Sharp sensor (this was important):
http://www.gorobotics.net/articles/sensors/effectively-using-the-sharp-gp2d12-rangefinder
http://www.oopic.com/oirrange.htm