HUMAN FOLLOWING ROBOT
by gauravsuryawanshi106 in Circuits > Microcontrollers
5 Views, 0 Favorites, 0 Comments
HUMAN FOLLOWING ROBOT

Made By:- Palak Lokhnade and Gaurav Suryawanshi.
Here is a clear and concise introduction to a Human Following Robot suitable for projects, reports, or presentations.
🧍‍♂️🤖 Introduction to Human Following Robot
A Human Following Robot is an autonomous mobile robot designed to detect, track, and follow a specific person without direct control. Using a combination of sensors, cameras, and microcontrollers, this robot can identify the movement of a human and adjust its path accordingly to maintain a consistent following distance.
These robots are developed using technologies such as ultrasonic sensors, infrared sensors, GPS, computer vision, and machine learning algorithms, depending on the complexity of the task. In most basic versions, ultrasonic sensors detect the distance between the robot and the person, allowing the robot to follow by maintaining a safe distance.
Human following robots are widely used in personal assistance, healthcare, military, industrial automation, and rescue operations. Their ability to work in dynamic environments while reducing the need for manual control makes them a valuable tool in modern robotics and automation.
This project aims to design a simple, cost-effective, and reliable human-following robot using components like Arduino, motor drivers, and distance sensors, providing a hands-on understanding of autonomous robotic systems.
Supplies










- TT Gare motor.
- Baseboard ( 13x9.5cm).
- Rubber wheel = 4.
- Arduino UNO.
- Motor driver.
- Serov motor = 1.
- Ultrasonic sensor = 1.
- Infrared sensor = 2.
- Battery holder.
- 18650 LI-ION battery = 3.
- DC power switch = 1.
- Jumper wires.
Assemble the Chassis
1. Attach the DC Motors
- Place the DC motors on both sides of the bottom base plate.
- Use motor brackets and screws to secure them.
- Ensure the motor shafts face outwards so you can attach the wheels.
2. Mount the Caster Wheel
- Fix the caster wheel to the front or back center of the chassis.
- This wheel allows free movement and balance.
3. Attach the Wheels
- Push-fit or screw the wheels onto the DC motor shafts.
4. Mount the Motor Driver
- Place the L298N or L293D motor driver module on top of the chassis.
- Fix it using screws or double-sided tape.
5. Fix the Arduino Board
- Place the Arduino Uno beside the motor driver.
- Use standoffs, nuts, or tape to fix it in place.
6. Attach the Ultrasonic Sensor
- Fix the HC-SR04 ultrasonic sensor on the front (use a sensor mount or small cardboard frame).
- You can also use a servo motor to rotate the sensor if you want scanning.
7. Install the Battery Holder
- Place the battery holder at the center or back.
- Make sure it’s well-balanced for proper movement.
8. Wiring the Components
- Connect:
- Motors to motor driver
- Motor driver to Arduino
- Ultrasonic sensor to Arduino
- Battery to motor driver and Arduino (via VIN)
9. Cable Management
- Use zip ties or electrical tape to neatly organize the wires.
- Ensure no wire touches the moving wheels.
Mount Arduino & Motor Driver

đź“‹ Steps:
- Choose a Position:
- Mount it close to the Arduino, with room for motor and power wires.
- Place it near the back if you're also adding a battery pack.
- Mount with Screws/Standoffs:
- Use mounting holes on the driver board with standoffs.
- Ensure it sits firmly and doesn’t move during motion.
- Alternative (Tape or Glue):
- If your motor driver doesn’t have holes, secure it using double-sided tape.
- Be careful not to cover the heat sink or terminals.
Connect Ultrasonic Sensor
Mount the HC-SR04 ultrasonic sensor on the front side of the robot.
Connect it to Arduino:
- Trig pin → Arduino pin 9
- Echo pin → Arduino pin 10
Connect Motor Driver to Arduino
Connect IN1, IN2, IN3, IN4 of the motor driver to Arduino pins (e.g., 5, 6, 7, 8).
Connect ENA/ENB to PWM pins (e.g., 3, 11) for speed control.
Power the Circuit

- Use a battery pack (9V or 12V) to power the motor driver.
- Arduino can be powered via USB or battery (Vin pin).
đź’» SIMPLE ARDUINO CODE
#define trigPin 9
#define echoPin 10
#define motor1Pin1 5
#define motor1Pin2 6
#define motor2Pin1 7
#define motor2Pin2 8
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(motor1Pin1, OUTPUT);
pinMode(motor1Pin2, OUTPUT);
pinMode(motor2Pin1, OUTPUT);
pinMode(motor2Pin2, OUTPUT);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.println(distance);
if (distance > 10 && distance < 30) {
// Move forward
digitalWrite(motor1Pin1, HIGH);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
} else {
// Stop
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, LOW);
}
delay(100);
}