Project Hub
Line Follower Robot
🤖

Line Follower Robot

A small robot that follows a black line.

advanced120 min

Components Needed

Arduino UNO
L298N motor driver
2× DC motors + wheels
2× IR line sensors
Battery pack

Circuit Diagram & Wiring

Add your circuit diagram image here.

  1. IR sensors on pins 2 and 3.
  2. Motor driver IN1..IN4 on pins 5,6,9,10.
  3. Common GND between Arduino and driver.

Arduino Sketch (.ino)

line-follower.ino
const int L = <span style="color:#79b8ff">2span>, R = <span style="color:#79b8ff">3span>;
const int IN1=<span style="color:#79b8ff">5span>, IN2=<span style="color:#79b8ff">6span>, IN3=<span style="color:#79b8ff">9span>, IN4=<span style="color:#79b8ff">10span>;

void setup() {
  pinMode(L, INPUT); pinMode(R, INPUT);
  pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT);
}

void forward() { digitalWrite(IN1,<span style="color:#79b8ff">1span>); digitalWrite(IN2,<span style="color:#79b8ff">0span>); digitalWrite(IN3,<span style="color:#79b8ff">1span>); digitalWrite(IN4,<span style="color:#79b8ff">0span>); }
void left()    { digitalWrite(IN1,<span style="color:#79b8ff">0span>); digitalWrite(IN2,<span style="color:#79b8ff">0span>); digitalWrite(IN3,<span style="color:#79b8ff">1span>); digitalWrite(IN4,<span style="color:#79b8ff">0span>); }
void right()   { digitalWrite(IN1,<span style="color:#79b8ff">1span>); digitalWrite(IN2,<span style="color:#79b8ff">0span>); digitalWrite(IN3,<span style="color:#79b8ff">0span>); digitalWrite(IN4,<span style="color:#79b8ff">0span>); }

void loop() {
  bool l = digitalRead(L), r = digitalRead(R);
  if (l &amp;&amp; r) forward();
  else if (l) right();
  else if (r) left();
}