3pi line sensors suddenly stopped reading

I have modified my 3pi robot for faster line following speeds. I swapped out the original motors with your 30:1 Micro Metal Gearmotor MP and I swapped out the wheels with Pololu Wheel 60x8mm. I needed to adjust the placement of the motors so that the line sensors were back to the original height. After that I spent quite a while tuning the PID loop to get it to follow the line reliably with an output of about 180. Suddenly, the line sensors stopped working. When the sensors were working I could use the ‘display_readings’ function in the sample code and I would get a value of about 2000 while I was centered on the line. Now after calibration it always reads 0. I checked the jumper on PC5 and it is still connected. While on, I can remove the jumper and I get approximately 5 V across the two terminals. Is there something on the 3pi I could have fried? The motors, LEDs, buzzer, and LCD display all seem to be functioning normally.
Just in case it matters, my 3pi is a few years old. The PCB is stamped with 2008, and has a SN 0J5497. I am also programming it using my Arduino environment.

I think I have found the problem! The reflective optical sensor at PC4 was knocked off of its mounts. I do still have the part so I will attempt to solder it back on later today. This is actually a sensor that I am not using for this program. If it does not go well can I bypass the sensor by shorting the leads? If I look at this diagram compel.ru/datapdf/vishay/pn/ … 56e388.pdf can I short from A to Cath and from E to Coll?


Please let me know how soldering the IR sensor back onto the 3pi turns out. If you do plan on bypassing the sensor, you should only need to short the LED. This will make the rest of the LEDs brighter, which will probably affect your sensor readings.

- Jeremy

Soldering the sensor back on was a success. I am a novice at soldering so working with parts that small was a bit tricky but I managed.
Now that I got the sensor back in place the sensor array is working again. Like I said before, I actually do not want to use the outer most sensors. Is there a way to disable them? Right now as a work around I taped a piece of white paper towel over sensors 0 and 4 which effectively causes them to always read ‘white’. I would rather disable them if possible.

I am glad to hear that soldering the sensor back on was successful.

You can modify the 3pi code to not read the outer two sensors. One way to do this is by initializing just the middle three IR sensors using our QTR sensor library. Please note, you will not be able to turn off specific IR LEDs since they are all in series.

- Jeremy