Final Report Batch2
Final Report Batch2
ROBOT CAR
BACHELOR OF TECHNOLOGY
In
This is to certify that the mini project report entitled “PATH MEMORIZING
BLUETOOTH CONTROLLED ROBOT CAR” being submitted by
Supervisor:
Dr.T. Madhavi Kumari
Professor of ECE
JNTUH College of Engineering,
Kukatpally, Hyderabad
2 | Page
Department Of Electronics and Communication Engineering
Jawaharlal Nehru Technological University Hyderabad -
Kukatpally -Hyderabad-500085
This is to certify that the mini project report entitled “PATH MEMORIZING
BLUETOOTH CONTROLLED ROBOT CAR” being submitted by
Head of Department
Dr.A.Rajani
- Professor and Head
Department of ECE
3 | Page
Department Of Electronics and Communication Engineering
Jawaharlal Nehru Technological University Hyderabad
Kukatpally -Hyderabad-500085
4 | Page
ACKNOWLEDGEMENT
We take this precious opportunity to acknowledge our internal project guide Prof. Dr.
T. Madhavi Kumari, Professor of Electronics and Communication Engineering, JNTUH
College of Engineering, Hyderabad for her timely advice, effective guidance, and
encouragement throughout the completion of our mini-project work.
We also owe a deep respect of gratitude to our parents and friends for their cheerful
encouragement and valuable suggestions, without whom this work would not have been
completed in this stipulated time.
We would like to articulate our heartfelt gratitude to the authorities of JNTU for their
help throughout our project work. A few lines of acknowledgment do not fully express
our gratitude and appreciation for all those who guided and supported us throughout
this project. Lastly, we acknowledge the help received from many journals and websites.
Finally, we thank one and all who helped us directly or indirectly throughout our project
work.
5 | Page
INDEX
S.No CONTENTS Page Number
1 LIST OF FIGURES 8
2 LIST OF TABLES 9
3 ABSTRACT 10
4 1.Introduction 10-11
1.1.Overview of path memorizing Bluetooth controlled
5 11
robot car
6 1.1.1 Applications 12
6 1.2 Aim 12
7 1.3 Objectives 13
13 2.1 History 16
14 2.2 Introduction 16
22 3.1 Features 22
6 | Page
24 4. HC05 Module 24
28 6. Voltage Supply 30
32 8. Limitations 39
35 9.2 Conclusion 40
36 REFERENCES 41
7 | Page
LIST OF FIGURES
8 | Page
LIST OF TABLES
9
TITLE:
PATH MEMORIZING BLUETOOTH CONTROLLED
ROBOT CAR
ABSTRACT
With the rise and continuous development of robot technology, autonomous robots
are becoming more and more widely used. Robots lessen human effort involved in
performing a particular task more efficiently and make human life easier by
solving day-to-day problems. Since past few years the algorithms for autonomous
vehicles have greatly evolved, providing effective and efficient solutions to cope
with the complexity of real-world problems.
10
1. INTRODUCTION:
1.1 Overview of path memorizing Bluetooth controlled robot car
Robot Car: This is a mobile vehicle equipped with wheels, motors, and the
necessary hardware to move around and interact with its environment.
Motor Control: Motor drivers are used to control the speed and direction of the
DC motors.
Path Memorization: It is the ability to memorize and recall paths or routes it has
travelled. This means it can remember specific routes, turns, and movements,
making it useful for tasks like automated deliveries within a predefined area.
Programming: Users can often program the robot car to follow specific
sequences of actions or behaviours. This can be done through user-friendly
graphical interfaces or by writing custom code.
11
1.1.1 APPLICATIONS:
Smart Home Assistance: Robot cars can assist in home automation tasks, such as
delivering items within the home, controlling smart devices, or providing
entertainment for residents.
Store Assistance: In retail settings, robot cars can assist customers by guiding
them to specific product locations or providing information about products and
promotions.
Experimental Platforms: Researchers use robot cars as platforms for
experiments in fields like artificial intelligence, computer vision, and autonomous
navigation.
Disaster Response: In disaster scenarios, these robot cars can navigate
challenging terrain to search for survivors or deliver supplies to inaccessible
areas.
Depending on the specific model, these robot cars may come with additional
features such as obstacle avoidance, remote video streaming, and customizable
accessories like arms or cameras.
1.2 AIM:
To transfer the information wirelessly between a smartphone and the robot and
developing a cost-effective robot. To enhance location-based services by allowing
devices to memorize and navigate path using Bluetooth connectivity.
12
1.3 OBJECTIVES:
1. It can be used to autonomously navigate and memorize path in indoor
environments, such as factories.
2. The robot car could deliver items within a defined area, remembering routes and
avoiding obstacles.
1.5 METHODOLOGY:
1. Gather all the materials and Components that are mentioned above.
2. Assemble the Robot car by Building the physical structure and attach the
wheels and motors, and make sure everything is securely connected.
3. Connect the L298N motor driver output pins to the Arduino board input pins,
and wire up the motors to the motor driver.
13
4. Connect HC-05 Bluetooth module to the microcontroller as per the below
circuit diagram.
5. Write the code for your microcontroller (Arduino) to control the motors,
receive Bluetooth commands, and handle obstacle avoidance.
6. Implement a path-memorization algorithm, such as recording the car's
movements in terms of distance and direction.
7. Pair your smart phone or computer with the Bluetooth module on the robot car.
8. Use Serial Bluetooth Terminal (Bluetooth app) to send commands to the car
(forward, backward, left, right).
9. .Implement a way for the robot car to memorize the path it takes. This could
involve recording distance and direction data as it moves and storing it in
memory.
10.Test your robot car to ensure it moves as expected, responds to Bluetooth
commands, and avoids obstacles if applicable.
11.Debug and refine your code as needed.
Fig: 1.5 Schematic diagram for Path memorizing Bluetooth controlled robot car.
14
1.5.1 BLOCK DIAGRAM:
Arduino Microcontroller
Arduino is a complete development board Microcontroller is a single chip that requires
that contains its own microcontrollers inside an external circuit to operate.
it along with other peripherals.
Arduino has a flexible range of voltage It can only operate at fixed voltage between
support as it has its own voltage regulators. 5V and 6.6V maximum.
Arduino has its own programming Microcontrollers have their own
environment IDE. programming tool according to type and
manufacturer of microcontroller.
Arduino programming language is easy to Microcontrollers are hard to program, one
use and learn. must know the basics of microcontroller
internal circuits.
15
2. ARDUINO UNO
2.1 HISTORY:
The project began in the Interaction Design Institute in Ivrea, Italy. Under
the supervision of Casey Reas and Massimo Banzi, the Hernando Bar in 2003
created the Wiring (a development platform). It was considered as the master thesis
project at IDII. The Wiring platform includes the PCB (Printed Circuit Board). The
PCB is operated with the ATmega168 Microcontroller.
In 2005, Massimo Banzi, David Cuartielles, David Mellis, and another IDII
student supported the ATmega168 to the Wiring platform. They further named the
project as Arduino.
The Arduino project began in 2005 as a tool for students at the Interaction
Design Institute Ivrea, Italy,[3] aiming to provide a low-cost and easy way for
novices and professionals to create devices that interact with their environment using
sensors and actuators.
2.2 INTRODUCTION:
2.3 FEATURES:
The IDE application is suitable for Windows, Mac OS X, and Linux. It supports
the programming language C and C++. We need to connect the Genuino and
Arduino board with the IDE to upload the sketch written in the Arduino IDE
software.
Many other companies including Sparkfun Electronics, also make their own
boards that are compatible with Arduino IDE.
17
2.5 ARDUINO BOARDS:
There are variety of Arduino board used for different purposes. The board varies
in I/O pins, size, etc. The various components present on the Arduino boards are
Microcontroller, Digital Input/Output pins, USB Interface and Connector,
Analog Pins, Reset Button, Power button, LED's, Crystal Oscillator, and Voltage
Regulator. Some components may differ depending on the type of board.
Arduino UNO
Arduino Nano
Arduino Mega
Arduino Due
Arduino Bluetooth
The Arduino Uno is a popular microcontroller board that comes with various pins
and features for building electronic projects. It's based on the
ATmega328P microcontroller
.
18
Vin: This is the input voltage pin of the Arduino board used to provide input supply
from an external power source.
5V: This pin of the Arduino board is used as a regulated power supply voltage and it
is used to give supply to the board as well as onboard components.
3.3V: This pin of the board is used to provide a supply of 3.3V which is generated
from a voltage regulator on the board
GND: This pin of the board is used to ground the Arduino board.
Reset: This pin of the board is used to reset the microcontroller. It is used to Resets
the microcontroller.
Analog Pins: The pins A0 to A5 are used as an Analog input and it is in the range of
0-5V.
Digital Pins: The pins 0 to 13 are used as a digital input or output for the Arduino
board.
Serial Pins: These pins are also known as a UART pin. It is used for communication
between the Arduino board and a computer or other devices. The transmitter pin
number 1 and receiver pin number 0 are used to transmit and receive the data resp.
External Interrupt Pins: This pin of the Arduino board is used to produce the
External interrupt and it is done by pin numbers 2 and 3.
PWM Pins: These pins of the board are used to convert the digital signal into an
analog by varying the width of the Pulse. The pin numbers 3,5,6,9,10 and 11 are used
as a PWM pin.
SPI Pins: This is the Serial Peripheral Interface pin; it is used to maintain SPI
communication with the help of the SPI library. SPI pins include:
19
LED Pin: The board has an inbuilt LED using digital pin-13. The LED glows only
when the digital pin becomes high.
AREF Pin: This is an Analog reference pin of the Arduino board. It is used to provide
a reference voltage from an external power supply.
4. Write the required code and connect the board to your computer via USB
cable.
20
5. Select your board.
21
3. L298N MOTOR DRIVE
The motor driver module consists of a motor driver IC, which is the heart of
the module. The IC alone can control the DC motor, but using the module makes
interfacing Arduino easy.
3.1 FEATURES:
22
3.2 PIN DESCRIPTION:
The L298Nis a dual H -Bridge motor driver which allows speed and
direction control of two DC motors at the same time. The module can drive DC
Motors that have voltages between 5 and 35V, with a peak current up to 2A.Let’s
take a closer look at the pinout of L298N module.
VCC pin supplies power to the motor. Voltage anywhere between 5 to 35V can
be applied. Remember, if the 5V-EN jumper is in place, you need to supply 2
extra volts than the motor’s actual voltage requirement, in order to run the motor
at its maximum speed.
5V pin supplies power to the switching logic circuitry inside the L298N IC. If the
5V-EN jumper is in place, this pin acts as output and can be used to power up the
Arduino. If the 5V-EN jumper is removed, you need to connect it to the 5V pin
on Arduino.
ENA pins are utilized to control the speed of Motor A. Supplying this pin with
HIGH logic makes the Motor A rotate, supplying it with LOW logic causes the
motor to stop. Removing the jumper and connecting this pin to the PWM input let
us control the speed of the Motor A.
23
IN1 & IN2 pins are used to control the direction of Motor A. If IN1 is HIGH
and IN2 is LOW, Motor A spins in a certain direction. To change the direction,
make IN1 LOW and IN2 HIGH. If both the inputs are either HIGH or LOW,
the Motor A stops.
IN3 & IN4 pins are used to control the direction of the Motor B. If IN3 is HIGH
and IN4 is LOW, Motor B spins in a certain direction. To change the direction,
make IN3 LOW and IN4 HIGH. If both the inputs are either HIGH or LOW, the
Motor B stops.
ENB pin can be used to control the speed of Motor B. Supplying this pin with the
HIGH signal makes the Motor B turn, supplying it LOW cause the motor to stop.
Eliminating the jumper and interfacing this pin to PWM information let us control
the speed of Motor B.
24
4. HC05 BLUETOOTH MODULE
HC-05 is a Bluetooth module which is designed for wireless communication.
This module can be used in a master or slave configuration.
Bluetooth serial modules allow all serial enabled devices to communicate with
each other using Bluetooth.
It has 6 pins,
25
Table:4.1 Pin Description of HC-05 Bluetooth Module
26
5. SERIAL BLUETOOTH TERMINAL
Steps to follow:
27
2. Link the required HC-05 module to the smart phone via Bluetooth.
28
4.Various commands such as ‘F’ for forward, ‘B’ for Backward, ‘R’ for
Right, and ‘L’ for Left are entered in the serial Bluetooth terminal that are
to be executed.
5.Command ‘W’ for Repeat is entered and the previous commands are
executed in the sequence they are executed.
29
6. VOLTAGE SUPPLY
30
7. OVERVIEW OF THE PROJECT CODE
31
32
33
34
35
36
37
38
8. LIMITATIONS
Path memorizing Bluetooth-controlled robot cars have certain limitations:
9.2 Conclusion:
1. https://how2electronics.com/wireless-bluetooth-controlled-robot-using-
arduino/
2. https://www.etechnophiles.com/how-to-make-a-path-memorizing-robot-
using-arduino/
3. https://circuitdigest.com/microcontroller-projects/bluetooth-controlled-
robot-car-using-arduino
4. https://iotdesignpro.com/articles/bluetooth-controlled-robot-car-using-
arduino
5. https://www.gnedenko.net/Journal/2021/SI_012021/RTA_SI_1_2021-
40_400-406.pdf
6. https://forum.arduino.cc/t/is-there-a-way-to-make-path-remembering-
robot/650839/2
7. https://ieeexplore.ieee.org/document/10063092
8. https://components101.com/modules/l293n-motor-driver-module
9. https://www.geeksforgeeks.org/all-about-hc-05-bluetooth-module-
connection-with-android/
10. https://robu.in/arduino-pin-configuration/
11.https://linuxhint.com/arduino-vs-
microcontroller/#:~:text=Arduino%20has%20a%20flexible%20range,type
%20and%20manufacturer%20of%20microcontroller.
41