0% found this document useful (0 votes)
49 views16 pages

3D Word Science Report Mars Rover Model

Uploaded by

Dhruva Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views16 pages

3D Word Science Report Mars Rover Model

Uploaded by

Dhruva Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

`

Obstacle Avoider Car

Team Members:

- Daksh Beniwal (Entry No. 2024EEB1194) – Improvement in Coding


and Wiring

- Deo Dev (Entry No. 2024EEB1195) – Soldering and Wiring

- Dhruva Kumar (Entry No. 2024EEB1196) – Coding, Wiring and


Material Gathering

- Durga Prasad (Entry No. 2024EEB1197) - Motivation

- Ekjot (Entry No. 2024EEB1198) – Report Writing and Information


Gathering
Introducti
on
OBJECTIVE: THE ARDUINO Such a project serves as a
ULTRASONIC SENSOR CAR PROJECT practical application of

EXPLORES THE INTEGRATION OF embedded systems and


sensor-based navigation,
ROBOTICS, SENSORS, AND
skills that are foundational in
MICROCONTROLLERS TO CREATE
fields like robotics and IoT
AN AUTONOMOUS, OBSTACLE-
(Internet of Things). Beyond
AVOIDING VEHICLE. THIS PROJECT
building a functional
DEMONSTRATES A FUNDAMENTAL prototype, this project
CONCEPT IN AUTONOMOUS enhances understanding of
SYSTEMS, WHERE REAL-TIME DATA sensor operations, motor
IS USED TO MAKE NAVIGATION control, and basic
DECISIONS WITHOUT HUMAN programming with Arduino.

INTERVENTION. USING AN With applications spanning

ULTRASONIC SENSOR, THE CAR from autonomous vehicles to


security and industrial
DETECTS OBSTACLES IN ITS PATH
automation, the Ultrasonic
AND ALTERS ITS COURSE TO AVOID
Sensor Car provides a
COLLISIONS.
glimpse into the capabilities
of modern robotic systems
and the potential for future
innovations in smart, self-
guided technologies.
Material
Required
 Arduino Uno
 Ultra-Sonic Sensor
 L293D Motor Driver Shield
 DC Motors × 4
 Wheels × 4
 6 Volts Sources × 2
 3D Printed Chassis
 Jumper Wires
 Switch

Arduino Uno

The Arduino Uno is a popular open-source


microcontroller
board developed by Arduino.cc, based on the
ATmega328P microcontroller. It is widely used in
electronics projects and
embedded systems due to its simplicity, flexibility, and
large supportive community

Ultra-Sonic Sensor
(HC-SR04)

An ultrasonic sensor is
a device that uses
ultrasonic sound waves
to measure distance.
It’s widely used in
robotics, automation,
and security
applications for
obstacle detection and
ranging. The most
common ultrasonic
sensor module is the
HC-SR04, which is
Circuit
Diagram
Working Principle

The Arduino ultrasonic sensor car


operates based on the principle of
ultrasonic sensing. The ultrasonic
sensor (HC-SR04) sends out ultrasonic
waves at a specific frequency. When
these waves hit an object, they reflect
back, and the sensor receives them.
The car's microcontroller (Arduino)
measures the time it took for the waves
to return and calculates

Challenges

1. Sensor Accuracy: The ultrasonic


sensor sometimes gave fluctuating
distance readings, which led to
inconsistent obstacle detection. Fine-
tuning the sensor's position and adding
a delay between readings improved
accuracy.

2. Power Management: Using a 9V


battery occasionally led to
underpowered motors, especially
during turns. Switching to a more
stable power source or rechargeable
battery could improve performance.

3. Motor Control: Precise control of the


motors was challenging due to limited
torque. In future versions, using higher-
quality motors or adding a second
motor driver could improve movement
accuracy.

4. Code Optimization: Response time


lagged slightly due to the sensor
processing time. Reducing code
complexity and adjusting delay
intervals can further optimize the car's
response.
PROCEDURE

1. Assembly:

- Attach the wheels to the DC

motors, fix the motors to the

chassis, and add the caster wheel.

- Connect the DC motors to the

motor driver.

- Mount the ultrasonic sensor at

the front of the car to serve as the

"eyes" for detecting obstacles.

2. Programming:

- Write an Arduino code to make

the car move forward continuously.

- Program the ultrasonic sensor to

measure distance. If an obstacle is

detected within a certain range

(e.g., 15 cm), the car stops, turns,

and resumes moving in a different

direction
Observation

Working And Defects

- The ultrasonic sensor effectively detects obstacles within a range of 2-400 cm.
- The motor driver responds accurately to commands for turning and stopping.
- The car encounters minor delays during sensor processing, which could be
optimized in future iterations.

A. Smooth Navigation:

 If the environment has few obstacles, the robot moves smoothly, adjusting
direction only when necessary.

B. Erratic Movements:

 If obstacles are densely packed, the robot may show frequent changes in
direction, indicating high sensor activity.

C. Response Time:

 The quicker the response time, the better the robot avoids obstacles
without collisions.

 Delayed response may result in minor bumps or jerky movements.

D. Sensor Accuracy:

 Higher accuracy sensors lead to better obstacle detection and smoother


navigation.

 Low accuracy or misaligned sensors can cause incorrect distance readings,


affecting the car’s navigation.

E. Battery Life Impact:

 Continuous sensor operation and motor control drain the battery. The
robot may slow down or exhibit weaker obstacle avoidance as the battery
depletes
Applications

- Autonomous Vehicles: The project


demonstrates basic principles used in
self-driving cars for obstacle detection
and avoidance.
- Robotics: It can be applied in robotic
navigation where real-time obstacle
detection is necessary.
- Security Systems: Ultrasonic sensors
are widely used in security systems for
intrusion detection.
- Warehousing: Autonomous vehicles
with obstacle avoidance are often used in
warehouses to transport items while
avoiding collisions.
- Education: This project serves as an
educational tool for students learning
about robotics, sensors, and Arduino
programming
- Autonomous Vehicles: The project
demonstrates basic principles used in
self-driving cars for obstacle detection
and avoidance.
- Robotics: It can be applied in robotic
navigation where real-time obstacle
detection is necessary.
- Security Systems: Ultrasonic sensors
are widely used in security systems for
intrusion detection.
- Warehousing: Autonomous vehicles
with obstacle avoidance are often used in
warehouses to transport items while
avoiding collisions.
- Education: This project serves as an
educational tool for students learning
about robotics, sensors, and Arduino
programming

Future
Improvem
ents
- Adding more ultrasonic
sensors to detect obstacles in
multiple directions.
- Implementing a more complex
algorithm to make smoother
turns.
- Using a more powerful battery
to enhance motor performance.
- Using large battery for longer
run time.

Results
- The car successfully moves
forward and stops when an
obstacle is detected.
- When the ultrasonic sensor
detects an object within 15 cm,
the car stops, turns right, and
continues moving in a different
direction.

Conclusion
The Arduino ultrasonic sensor
car successfully detects and
avoids obstacles, demonstrating
the capability of ultrasonic
sensing in autonomous
navigation. This project
highlights how simple
components can create a basic
obstacle-avoiding robot. Future
improvements may include
adding sensors for smoother
directional control and
optimizing the response time.
Code
#define trigPin 9
#define echoPin 10
#define motor1Pin1 4
#define motor1Pin2 5
#define motor2Pin1 6
#define motor2Pin2 7

void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(motor1Pin1, OUTPUT);
pinMode(motor1Pin2, OUTPUT);
pinMode(motor2Pin1, OUTPUT);
pinMode(motor2Pin2, OUTPUT);
Serial.begin(9600);
}

void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);


distance = (duration / 2) / 29.1; // Convert to cm

if (distance < 15) {


stopCar();
delay(500);
turnRight();
delay(500);
} else {
moveForward();
}
delay(100);
}

void moveForward() {
digitalWrite(motor1Pin1, HIGH);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
}

void stopCar() {
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, LOW);
}

void turnRight() {
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
}

You might also like