Make it mech
  • Home
  • How & Why
    • Arduino
    • Leapmotion with arduino
    • Sensors/Modules
    • Basic Electronics
    • NodeMcu
    • LabView
    • MATLAB
    • Industrial Automation
  • Projects
    • arduino projects
    • Brain Wave Decoder
    • Circuit Diagrams
    • Electrical
    • IEE Projects
  • Ideas
  • Videos
  • Arduino
  • Robotics
  • Circuits
  • Electrical
  • LeapMotion
  • EEG
  • IOT
  • LabView
  • MATLAB
  • NodeMcu
  • Mechatronics
  • Sensors
  • Motivation
  • Soft skills
  • Success
Make it mech
Home arduino projects

Smart and fast arduino line following robot | Line follower using arduino

Kane Dan by Kane Dan
September 7, 2021
in arduino projects, Projects, Robotics
Smart and fast arduino line following robot | Line follower using arduino

Arduino line following robot is an easy Arduino based robot project. Line follower using Arduino is easy to code Arduino project. This is the project guide about Arduino line following robot. A line follower robot using Arduino Uno and IR sensor. The line follower robot program is an easy Arduino code. We will discuss step by step that how we can make smart and fast Arduino line following robot.

Arduino Line following Robot

Line Following Robot is the most common icon for building any robot. Line followers are the stepping stone towards robotics. The most basic, easy and very first part in robotics starts with line following. The most common Robot all the time.

Related posts

220v ac to 12v dc power supply

220v AC to 12v DC Power Supply Step by Step Project

May 9, 2021
Top 10 Arduino Based Projects For Final Year Students | Arduino project ideas

10-Cool Arduino projects of all time | Arduino based Projects List

May 9, 2021

Well Making line follower for the first time is not really easy as we thought. Some of the things could be turned to make simple stuff into the complex. I mean some times sensor calibration, comparison, and other related things could be more difficult. For this we have to be smarter and more tricky.

We have to choose those parts that can not create any sort of disturbance for us. I’m talking about those days when there were not much revolution in Robotics. We had to make robots using circuits with LDR’S IR’S and other messy and complex things.

Now we have been blessed with Arduino and bunch of good not just good but great sensors.so be smart and don’t waste your time in making complex circuits with separate sensors. There are a bunch of sensor modules available in the market with built in comparators. So wisely choose what you are going to do and what you have to do.

We will see some of the very common and effective ways of making a line following robot. We will start from basics and in further tutorials we will follow some complex algorithms. We will see PID implemented robots and some advanced techniques in making smart robots.


00: Gather all the Stuff at one place


Required Components:

  1. Arduino board/Uno/Nano/mega
  2. 3x IR sensor modules
  3. 2x Dc/servo motors
  4. Chassis
  5. Wheels
  6. Battery
  7. Caster wheel
  8. Jumper wires

These are the basic components you have to buy before making any further decision for Arduino line following robot. Now I will explain how to choose the right component and which one will be more suitable.


01: Arduino board:


As Arduino is the main part so we have to be clear about which Arduino board we are going to use for Arduino line following robot. The Arduino Uno is the best choice. We don’t need a lot of pins or very few pins that’s why we are not going for the Nano and mega.
For Arduino guidance and Example, codes understanding go through these following posts.


Getting started with Arduino microcontroller


02: IR Sensor Modules:


IR sensor module is the best choice for making Arduino line following robot. Instead of using IR LEDs we have to buy IR modules.
The pin out Configuration for IR modules and Arduino is very simple. Below is the pinout for Line follower robot using Arduino Uno and IR sensor.

ir with arduino

 

If you are using 3 sensors connect 3 in the same manner. The IR module has 1-pin for input and other 2 are VCC and ground.
So join all VCC and ground separately at one place and then connect to the Arduino. And the input pins are placed randomly on the digital pins of Arduino.


03: DC/Servo motors


The selection of motors depends upon your choice. If you are going to but the LFR Kit then you got the servo motors within the package. But my recommendation is to use DC geared motors. As I have used in this project we can handle more weight and current as compared to simple motors.so there are other several benefits of using these motors.

DC gear motors having high rpm and high torque they are PMDC typed. The advantages of these motors are a constant magnetic field which is uncontrolled by an external source.


04: Line follower KIT


There are lots of LFR kits are available in the market. Buying a kit is the easiest solution for any mechanical workload or any sort of disturbance.


05: Chassis:


Chassis could be of any thing. I’m not going in the depth there are so many things already discussed over the internet. The chassis could be of an acrylic sheet or use any home made things for robot base.


06: Wheels:


There are standard size wheels are available in the market. If you are using KIT then you don’t need to worry about these things.


07: Ball caster:


For making 2 wheel LFR you have to buy an extra wheel that is caster wheel the ball caster. For balancing the robot.


08: Battery:


The battery is the most important part of this project. We need a good and an efficient timing battery. The dry lithium-ion 12-volt rechargeable battery is the best choice. We can also go for other choices use simple rechargeable two 4-volts batteries in series.


09: Pin out Configuration and Assembling:


Assemble all the parts. Place everything on your kit and now wire up.
Connect 3 IR modules with your Arduino board. The Vin pin of IR module will be connected on any of analog or digital pin of Arduino remember these pin configurations you have to use in the code.so if you are connecting to analog pins then you have to write analog in the code.


10: Motor Driver:


The motor driver we are using here is an L298N module. This is my recommendation to use this module instead of going for any shield or downloading libraries and other stuff this one is the simplest and easy.
For the working principle pin out configuration and why we are using this module you have to read this following post.

Motor Driver Dual H-Bridge L298


11: Code Construction:


There are three main steps in the construction of coding for Arduino line following robot.

1-defining the pins according to the connecting / inputs and outputs

2-Logic for sensors / The switch case

3-functions for motor directions

The very first part Before coding is to calibrate the sensor. Set a threshold for a sensor.

For working principle of a line follower, you must have some knowledge about how we move motors according to the logic.


12: Logic and Sensors placement:


We have to place all the sensor with equal distance lets says 1.5 in each. You middle sensor must be at the center of the line;

This is the basic principle for line following robot. Now we will move towards Arduino code.

lfr

13: Arduino Code:


For three sensors the logic will be :

010  Robot is on the line drive forward

100  turn medium Left

001  turn  medium Right

110  Sharp turn left

011 Sharp turn Right

000 stop

 


14: Complete Code:


#define LS 2      // left sensor
#define MS 3      // middle sensor
#define RS 4      // right sensor
 
/*-------Outputs------*/
#define LM1 5       // left motor
#define LM2 6       // left motor
#define LM3 7       // left motor Enable pin for controlling speed
 
#define RM1 8       // right motor
#define RM2 9       // right motor
#define RM3 10       // right motor Enable pin for controlling speed
 
 
void setup()
{
  pinMode(LS, INPUT);
  pinMode(MS, INPUT);
  pinMode(RS, INPUT);
  pinMode(LM1, OUTPUT);
  pinMode(LM2, OUTPUT);
  pinMode(LM3, OUTPUT);
  pinMode(RM1, OUTPUT);
  pinMode(RM2, OUTPUT);
  pinMode(RM3, OUTPUT);
}
 
void loop()
{
  if(!(digitalRead(LS)) && digitalRead(MS) && !(digitalRead(RS)))    // Move Forward (010)
  {
    digitalWrite(LM1, HIGH);
    digitalWrite(LM2, LOW);
    digitalWrite(LM3,250);
    digitalWrite(RM1, HIGH);
    digitalWrite(RM2, LOW);
    digitalWrite(RM3,250);
  }
  
  if(!(digitalRead(LS)) && !(digitalRead(MS)) && digitalRead(RS))     // Turn medium right (001)
  {
    digitalWrite(LM1, HIGH);
    digitalWrite(LM2, LOW);
    digitalWrite(LM3,230);
    digitalWrite(RM1, HIGH);
    digitalWrite(RM2, LOW);
    digitalWrite(RM3,80);
  }
  
  if(digitalRead(LS) && !(digitalRead(MS)) && !(digitalRead(RS)))     // turn medium left (100)
  {
    digitalWrite(LM1, HIGH);
    digitalWrite(LM2, LOW);
    digitalWrite(LM3,80);
    digitalWrite(RM1, HIGH);
    digitalWrite(RM2, LOW);
    digitalWrite(RM3,230);
  }
  
  if(!(digitalRead(LS)) && !(digitalRead(MS)) && !(digitalRead(RS)))     // stop (000)
  {
    digitalWrite(LM1, LOW);
    digitalWrite(LM2, LOW);
    digitalWrite(LM3,0);
    digitalWrite(RM1, LOW);
    digitalWrite(RM2, LOW);
    digitalWrite(RM3,0);
 
  }
 
  if(digitalRead(LS) && (digitalRead(MS) && !(digitalRead(RS))))     // Turn Sharp left 90 degree (110)
  {
    digitalWrite(LM1, LOW);
    digitalWrite(LM2, LOW);
    digitalWrite(LM3,0);
    digitalWrite(RM1, HIGH);
    digitalWrite(RM2, LOW);
    digitalWrite(RM3,250);
  }
  if(digitalRead(RS) && (digitalRead(MS) && !(digitalRead(LS))) )    // Turn Sharp Right 90 degree (011)
  {
    digitalWrite(LM1, HIGH);
    digitalWrite(LM2, LOW);
    digitalWrite(LM3,250);
    digitalWrite(RM1, LOW);
    digitalWrite(RM2, LOW);
    digitalWrite(RM3,0);
  }
}

 

Upload the code and test it. Before testing check your connection and compare with your code.

I have skipped most of the mechanical parts in this guide about Arduino line following robot. You have to take them on your own. These were some common and unnecessary steps. I hope you got the concept. If you have any query comment below to notify. Read the coming post about:

Advance line following Robot

and PID implemented line following Robot. Follow to get the latest updates. Subscribe to our YouTube channel for video Tutorials.

Previous Post

Labview Arduino binary logic to decimal | Labview arduino examples

Next Post

What is Leap Motion Controller and How does Leap Motion Works

Related Posts

220v ac to 12v dc power supply
Basic Electronics

220v AC to 12v DC Power Supply Step by Step Project

May 9, 2021
Top 10 Arduino Based Projects For Final Year Students | Arduino project ideas
arduino projects

10-Cool Arduino projects of all time | Arduino based Projects List

May 9, 2021
Top 10 Robotic Competitions in the World | Tech Event Ideas
Ideas

Robotic Projects for Useful Applications | Final Year Robot Project ideas

May 9, 2021
robotic event ideas
Ideas

Top 10 Robotic Competitions in the World | Tech Event Ideas

May 10, 2021
Top 10 Arduino Based Projects For Final Year Students | Arduino project ideas
Arduino

Top 10 Arduino Based Projects For Final Year Students | Arduino project ideas

May 10, 2021
Mechatronics Projects for Final Year students with Industrial Aspect
Ideas

How Robots are Used in daily life | Robotic applications in human life

May 10, 2021
Next Post
What is Leap Motion Controller and How does Leap Motion Works

What is Leap Motion Controller and How does Leap Motion Works

BROWSE BY CATEGORIES

  • Arduino (9)
  • arduino projects (7)
  • Basic Electronics (2)
  • Brain Wave Decoder (11)
  • Breadboard Circuits (1)
  • Circuit Diagrams (5)
  • Circuits (3)
  • EEG (11)
  • Electrical (2)
  • How & Why (1)
  • Ideas (9)
  • IEE Projects (2)
  • Industrial Automation (1)
  • Inspiration & Motivation (3)
  • IOT (3)
  • LabView (3)
  • Leapmotion with arduino (5)
  • MATLAB (1)
  • Mechatronics (7)
  • NodeMcu (1)
  • Projects (11)
  • Robotics (9)
  • Self Learning (3)
  • Sensors/Modules (6)
  • Soft skills (2)
  • Success (2)

Contact us

Email: marketing[at]shantelllc.com

Recent News

  • How & Why to Use DC Motors | How DC Motor Works
  • 220v AC to 12v DC Power Supply Step by Step Project
  • Battery Level Indicator Circuit With Low Charge Alarm | Inverter Battery Circuit
  • Privacy Policy
  • About Us
  • Contact Us

© 2023 Make it mech - All Rights Reserved

No Result
View All Result
  • Home
  • Politics
  • News
  • Business
  • Culture
  • National
  • Sports
  • Lifestyle
  • Travel
  • Opinion

© 2023 Make it mech - All Rights Reserved

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
Go to mobile version