noob with roomba and arduino. optical sensor question

i'm sure this is a basic question but i just got my arduino. i'm intrested in ultimately building a balancing line following robot. i also have an old roomba i just tore apart for parts. i see it uses a number of optical sensors. my question is which led is which and how do if configure them with the arduino? i understand one led is a emitter and one is a receiver and together they sense a change in reflectivity of a surface but how do i know which is which and how do i wire them to work with the arduino?

Thank You

Can you upload a picture of the sensor, or at least count the wires coming from it? I’m not familiar with the inside of a roomba.

I believe what you migth be looking at are the "cliff sensors". They will detect if the floor from underneath the roomba vanishes - and thus it will stop to avoid driving down some stairs or over a big dropoff.

I don't know if you could utilize these sensors to follow a line unless it was driving over a very "controlled" surface. You probably would have the best chance at utilizing the sensors to do this by using alumium tape for the best reflectivity, and driving the roomba on a rug (very un-reflective).

The roomba itlsef is not very smart however, so you'd have to feed the sensor feedback into arduino, and maybe power the emitters with a lower voltage level. I assume that since the leds are so close - they might be "saturating" the reciever no matter if the surface is dull / diffuse.

If you look at teh setup of the sensors, they are set at a specific angle - so really the sensors are more setup to work to complete a "light circuit" just based on geometry. When there is no floor for the light to reflect on - the reciever will no longer pick up the reflected light - and detect the cliff.

Check this out / this will probably give you some info on it:

Hope this helps, and if you have any further questions about this, programming or electronics, ask away!