Line Followers with Easy C [From Official Forum]

Normal users cannot respond to any threads in one of the “Other Technical Support” subfora. Thus, I am copying this here…

I am not an easyC user, nor am I working with line followers this year. But, I can give a bit of advice from my prior experience:

  1. I think it would be best to have the line follower sensors fairly close to each other (this is what I have always done), so the line can’t get “trapped” in between two sensors–that is, there is no blind spot.
    2, 3, 4, 5. I had always had them in a straight line, and they worked fine for me…
  2. Most fast line followers use a variant of the PID controller, so turning speeds are actually variable depending on how far “off-center” you are.
  3. As close to the mat as you can get without ever touching it (tiles are squishy, so leave some “margin”)
  4. I’ve used 1, and I’ve used 3. In general, the wider the swath of mat that you sense, the smoother your line follower can be. (Generally speaking, adding more sensors is (kind-of) like adding resolution to a camera–the more the merrier, but there comes a point where the added benefit is too small for your application.)
  5. When I need to detect corners, I place one light sensor about 5 inches to the left or right of the main sensor(s) that I’m actually using to follow the line. Then, when that far away sensor detects the line, I know I’ve reached an intersection.


PinionTwister should check this article out. It goes into great detail and gives the reader a good understanding.

In brief - the more line followers there are, the greater chances you have at following a line. With more line followers the program knows more closely where the robot is at, at any given time.

That being said, someone with 3 line followers and are knowledgeable in programming can easily beat someone with 7 line followers and are not knowledgeable in programming. The effectiveness of line following is highly dependent on the programmer, regardless of how many line followers you are using.

I posted some suggestions in your post in the easyC Q&A.

From the Official EasyC Q&A:

This might be a bit overkill, when I was experimenting with line followers, I set three in a row just in front of the center of rotation, and one in the front left and front right to detect intersections. Or you could use Andrew’s suggestion of light sensors, but I haven’t had much experience with them and it would probably be easier in the long run to have to figure out one type of sensor, rather than 2. Five in a row would certainly give you some precise and efficient line following, but the number of analog ports it requires vs. the benefit may not be there for your application

Around 1-1.5 cm would be best. You want them to be close to the ground, but not to close that they could potentially drag on the ground, breaking them. Too high and you won’t get a noticeable enough difference between “line” and “not line.”