Tekko BDSimSimulatorProjects

লাইন ফলোয়ার রোবটLine Follower Robot using Arduino

দুইটা IR sensor মেঝের দিকে তাকিয়ে থাকে। সাদা মেঝে আলো ফেরত দেয় (OUT LOW), কালো লাইন দেয় না (OUT HIGH)। বাম sensor লাইন পেলে Arduino বাম চাকা থামায়, রোবট ঘুরে লাইনে ফিরে আসে। Simulator এ প্রতিটা sensor অন (সাদা) বা অফ (কালো) করে চাকা কীভাবে ঘোরে দেখো।

Two IR sensors look down at the floor. White reflects the light (OUT LOW), the black line does not (OUT HIGH). When the left sensor finds the line the Arduino stops the left wheel so the robot turns back onto it. In the simulator, switch each sensor on (white floor) or off (black line) and watch the wheels.

▶ ফ্রি চালিয়ে দেখো / Run it free Parts অর্ডার করো (WhatsApp)

সার্কিট ডায়াগ্রাম · Circuit diagram

Line Follower Robot using Arduino circuit diagram — Arduino Uno, IR obstacle sensor (FC-51), Motor driver L298N, Gear motor (yellow TT), 9 V battery, Jumper wires

যা যা লাগবে · Parts you need

সব part একসাথে · All parts in one box: line follower robot kit complete

তার লাগানো · Wiring

IR obstacle sensor (FC-51) VCC→Arduino Uno 5V
IR obstacle sensor (FC-51) GND→Arduino Uno GND
IR obstacle sensor (FC-51) OUT→Arduino Uno D2
IR obstacle sensor (FC-51) VCC→Arduino Uno 5V
IR obstacle sensor (FC-51) GND→Arduino Uno GND
IR obstacle sensor (FC-51) OUT→Arduino Uno D3
Motor driver L298N IN1→Arduino Uno D8
Motor driver L298N IN2→Arduino Uno D9
Motor driver L298N IN3→Arduino Uno D10
Motor driver L298N IN4→Arduino Uno D11
9 V battery +→Motor driver L298N 12V
Motor driver L298N GND→9 V battery -
Motor driver L298N GND→Arduino Uno GND.3
Motor driver L298N OUT1→Gear motor (yellow TT) +
Motor driver L298N OUT2→Gear motor (yellow TT) -
Motor driver L298N OUT3→Gear motor (yellow TT) +
Motor driver L298N OUT4→Gear motor (yellow TT) -

Code (Arduino C++)

// Line follower: two IR sensors look down at the floor, one each side of a black line.
// White floor reflects the IR light  -> OUT is LOW.
// Black line swallows it              -> OUT is HIGH.
const int leftIR = 2, rightIR = 3;
const int IN1 = 8, IN2 = 9, IN3 = 10, IN4 = 11;
String last = "";

void motors(int left, int right) {   // HIGH = forward, LOW = stop
  digitalWrite(IN1, left);  digitalWrite(IN2, LOW);
  digitalWrite(IN3, right); digitalWrite(IN4, LOW);
}

void say(String s) {                 // print only when the action changes
  if (s != last) { Serial.println(s); last = s; }
}

void setup() {
  pinMode(leftIR, INPUT);
  pinMode(rightIR, INPUT);
  pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  bool leftOnLine  = digitalRead(leftIR) == HIGH;
  bool rightOnLine = digitalRead(rightIR) == HIGH;

  if (!leftOnLine && !rightOnLine) { motors(HIGH, HIGH); say("straight"); }
  else if (leftOnLine && !rightOnLine) { motors(LOW, HIGH); say("turn left"); }
  else if (!leftOnLine && rightOnLine) { motors(HIGH, LOW); say("turn right"); }
  else { motors(LOW, LOW); say("stop: both sensors see black"); }
  delay(20);
}

আরো project · More projects