app based wireless bot controller
app based wireless bot controller
app based wireless bot controller
Chapter 1
INTRODUCTION
The project involves creating a Bluetooth-controlled RC robot with a robotic arm, designed to
perform basic mechanical tasks through wireless commands. It integrates hardware and software,
providing a practical learning experience in control systems, automation, and robotics. The robot's
core is the Arduino Uno microcontroller, which handles processing and decision-making tasks. A
Bluetooth module (HC-05) allows wireless communication with a smartphone or tablet, acting as
the control interface. DC motors connected to the robot's wheels are powered and regulated by a
motor driver (L298N), enabling movement in all directions. A servo motor controls the robotic
arm's movement, allowing precise positioning for tasks like picking up and placing objects. The
robot operates on a battery pack, ensuring portability and independence from external power
sources. The design includes a sturdy robot chassis that holds all parts securely, maintaining
balance and stability while providing space for the robotic arm. This project demonstrates the
practical use of various electronic and mechanical components, highlighting the basics of
Bluetooth-controlled systems and robotic automation. It offers valuable insights into embedded
systems, robotics engineering, and wireless communication. This project is a great example of how
simple components, combined with creativity and engineering, can result in a functional,
interactive robotic system that bridges the gap between theoretical learning and real-world
application.
Integrate Arduino with Servo Motors: Design the Arduino-based system to control the
movement of the robotic hands with precise servo motor actions.
Optimize Power Consumption: Develop an efficient power management system for the
robot to ensure long-term operation without frequent recharging.
Enhance User Experience: Focus on a user-friendly control interface that allows for easy
manipulation of both the robot's movement and the robotic hands.
Chapter 2
LITERATURE SURVEY
[1] Remote Control Robot Using Android Mobile Device:
Nádvorník, J., & Smutný, P describes the design and realization of the mobile application
for the Android operating system which is focused on manual control of mobile robot using
wireless Bluetooth technology. The application allows the robot control interaction with the
display, or voice. When we use a graphical interface, we can monitor the current distance of the
robot from obstacles. The measurement of distance is carried out by ultrasonic sensor placed in
front of the robot. It was necessary to build a prototype of a mobile robot for the development of
the application. The prototype of the mobile robot is based on the differential gear.
[3] Mechanical Aspects of Robot Hands, Active Hand Orthoses, and Prostheses:
A Comparative Review:
The large interest in robot hands and active hand prostheses has in recent years been
joined by that in active hand orthoses. Despite the differences in intended uses, these three
categories of artificial hand devices share key characteristics. Examination of the commonalities
could stimulate future design. Thus, in this article, we undertook a comparative review of
publications describing robot hands, active prostheses, and active orthoses, with a focus on
mechanical structure, actuation principle, and transmission. Out of a total of 510 papers identified
through the literature search, 72 publications were included in a focused examination. We
identified trends in the design of artificial hands and gaps in the literature. After comparing their
mechanical aspects, we propose recommendations for future development as stated by Vertongen,
J., Kamper, D.G., Smit, G., & Vallery.H.
methods that leverage hand dynamic information. The focus then shifts to data-driven approaches,
which have gained prominence in soft hand grasping research due to their effectiveness in
managing diverse objects.
Chapter 3
HARDWARE REQUIREMENTS AND SPECIFICATIONS
3.1 Components Required
Arduino UNO
HC – 05 Bluetooth Module
Motor Driver L298N
Jumper Wire
Servo Motor
Connecting Wires
Battery holder
Power Supply
Android Phone
Bluetooth Controller
DC-motor
3&4
The Block Diagram as shown fig. 3.1 of our system consists of a Bluetooth module, an Arduino
kit and a couple of motors for driving the car. The android application-controlled robot
communicates via Bluetooth to the Bluetooth module present on the robot. While pressing each
button on the application, corresponding commands are sent via Bluetooth to the robot. The
commands that are sent are in the form of ASCII. The PIC on the robot then checks the command
received with its previously defined commands and controls the DC motors depending on the
command received to cause it to move forward, backward, left, right or to stop. Thus allowing us
to create an android controlled robot.
Here at first we construct the circuit as shown in Figure 3.2 Then through the data cable we insert
the commands in the microcontroller ATMEGA 328P (UNO). These commands help the
microcontroller to interface with the Bluetooth module HC05 and also with the motor driver
L293D. Here the Bluetooth module act as a receiver which receives the instruction from the smart
phone (remote or transmitter). Then the microcontroller decides the operation for the instruction
which is coming from the smart phone. The functions of the given instructions are operated by the
microcontroller. The instructions are sent by the smart phone. We can easily control the
movements of the dc motor.
Microcontroller ATmega328
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega328)
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
Power Supply:
The Arduino Uno power supply can be done with the help of a USB cable or an external power
supply. The external power supplies mainly include AC to DC adapter otherwise a battery. The
adapter can be connected to the Arduino Uno by plugging into the power jack of the Arduino
board. Similarly, the battery leads can be connected to the Vin pin and the GND pin of the POWER
connector. The suggested voltage range will be 7 volts to 12 volts.
Pin-13(LED): The inbuilt LED can be connected to pin-13 (digital pin). As the HIGHvalue
pin, the light emitting diode is activated, whenever the pin is LOW.
Pin-4 (SDA) & Pin-5 (SCL) (I2C): It supports TWI-communication with the help of the
Wire library.
AREF (Reference Voltage): The reference voltage is for the analog inputs with
analogReference().
Reset Pin: This pin is used for reset (RST) the microcontroller.
Memory:
The memory of this Atmega328 Arduino microcontroller includes flash memory-32 KB for storing
code, SRAM-2 KB EEPROM-1 KB.
Communication:
The Arduino Uno ATmega328 offers UART TTL-serial communication, and it is accessible on
digital pins like TX (1) and RX (0). The software of an Arduino has a serial monitor that permits
easy data. There are two LEDs on the board like RX & TX which will blink whenever data is being
broadcasted through the USB.
IN1 & IN2 Motor A input pins. Used to control the spinning direction of
Motor A
IN3 & IN4 Motor B input pins. Used to control the spinning direction of
Motor B
ENA Enables PMW signal for Motor A
This motor is a closed-loop mechanism that incorporates positional feedback in order to control
the rotational or linear speed and position.
This motor is actually an assembly of four things:
Normal DC motor- That is in charge of generating the motion through its shaft.
Gear reduction unit/gear box
Potentiometer
Control circuit
The DC motor connects with a gear mechanism which provides feedback to a position sensor
which is mostly a potentiometer. It is connected to the central shaft, and informs at all times the
angle in which the motor’s shaft is available from the gear box or gear reduction unit, the output
of the motor delivers via servo spline to the servo arm. the gear box is formed by gears which may
increase or decrease the speed and torque. The standard servo motor uses the plastic gear whereas
the high power servo motor uses the metal gear. A control circuit allows for control over the
motor’s motion by sending electric pulses Motor consists of three wires- a black wire connected
to ground. A white/yellow wire connected to control unit. And a red wire connected to power
supply.
colours don't indicate a different function. However, colours can be used to differentiate between
types of connections, such as ground or power. For example, black or blue usually denotes a wire
running to ground, and red is usually connected to a power source.
3.13 Battery:
2200mAh is a unit of measurement for electric charge. A 2200mAh battery can supply 2200
milliamperes of current for one hour, or less current for a longer duration. This type of battery is
commonly found in power banks, 18650 batteries for electronics, and smaller devices like wireless
headphones. The battery's performance and lifespan depend on its type, voltage, and discharge
rate. 2200mAh batteries are commonly used in RC robots to provide the necessary power for their
motors and electronics. A higher capacity battery, like a 2200mAh one, allows the robot to operate
for longer durations without needing a recharge. This is especially important for robots that
perform complex tasks or require extended operation times. By selecting the right battery, robot
builders can optimize performance and minimize downtime, ensuring that their creations can
function effectively in various applications.
The smart phone is the transmitter of this circuit. It sends the data to microcontroller through
Bluetooth module. It also helps to send the instruction of forward, backward, left, right to the
microcontroller. Actually, the smart phone is used as a remote of this system. Here we operating
the Bluetooth RC Controller application as the operating remote of this system. The advantage of
this project is that the application software designed for android phones is kept simple but attractive
with all necessary built-in functions. The novelty lies in the simplicity of the design and
functioning. An application was developed in the software Android Studio. App can be installed
on an Android smartphone to control the RC unit. The app shows buttons for movement of the car
in different directions. These commands are as follows: Left, forward, backward and right. The
code for the app is written in java.
3.15 RC Module:
RC module is the main working unit of this system. This unit consists of the Arduino chip, the two
motor drivers, and a Bluetooth module connected to the circuit. Motor drivers are used to control
the dc motors. The Arduino Uno, which is a small android chip, resides at the center of the unit. It
is responsible for communicating with android smartphone, using the Bluetooth module and
controls the motors using the motor driver. The RC unit is powered using 9V battery connected to
this Arduino chip. The command for controlling the module is received using Bluetooth module
HC-05.
Chapter 4
DESIGN AND IMPLEMENTATION
4.1 Wiring L298N Motor Driver Module to Arduino UNO:
Initial procedure is done by connecting the motor power supply. In our experiment, we are using
DC gearbox motors, also called “TT” motors, which are often found in two wheel-drive robots.
They are rated for 3 to 12V. We will therefore connect an external 12V power source to the VS
terminal. Because L298N has a voltage drop of about 2V, the motors will receive 10V and spin at
a slightly lower RPM. But that’s okay. Next, we need to supply 5V to the logic circuitry of the
L298N. We’ll use the on-board 5V regulator to draw 5V from the motor power supply, so keep
the 5V-EN jumper in place.
Now connect the L298N module’s Input and Enable pins (ENA, IN1, IN2, IN3, IN4 and ENB) to
the six Arduino digital output pins (9, 8, 7, 5, 4 and 3). Note that both Arduino output pins 9 and
3 are PWM-enabled.
Finally, wire one motor to terminal A (OUT1 and OUT2) and the other to terminal B (OUT3 and
OUT4). You can swap out your motor’s connections. There is technically no right or wrong way
Chapter 5
RESULT & ANALYSIS
Here we work on common mode and when we want to change settings of HC-05 Bluetooth module
like change password for connection, baud rate, Bluetooth device‘s name etc. To do this, HC-05
has AT commands. To use HC-05 Bluetooth module in AT command mode, connect ―Key pin
to High (VCC). Default Baud rate of HC05 in command mode is 38400bps. Following are some
AT command generally used to change setting of Bluetooth module. To send these commands, we
have to connect HC- 05 Bluetooth module to the PC via serial to USB converter and transmit this
command through serial terminal of PC.
You can directly use the Bluetooth module after purchasing from market, because there is no need
to change any setting of Bluetooth module. Default baud rate of new Bluetooth module is 9600
bps. You just need to connect rx and tx to controller or serial converter and give 5-volt dc regulated
power supply to module.
Bluetooth module has two modes one is master mode and second one is slave mode. User can set
either mode by using some AT commands. Even user can set module’s setting by using AT
command. Here is some commands uses are given:
First of all user need to enter AT mode with 38400 bps baud rate by pressing EN button at
Bluetooth module or by giving HIGH level at EN pin. Note: all commands should ends with \r\n
(0x0d and 0x0a) or ENTER KEY from keyboard.
After it if you send AT to module then module will respond with OK
AT → Test Command
When we touch forward button in Bluetooth controller app then car start moving in forward
direction and moving continues forward until next command comes. When we touch backward
button in Bluetooth controller app then car start moving in reverse direction and moving continues
reverse until next command comes. When we touch left button in Bluetooth controller app then
car start moving in left direction and moving continues left until next command comes. In this
condition front side motor turns front side wheels in left direction and rear motor runs in forward
direction.
When we touch right button in Bluetooth controller app then car start moving in right direction
and moving continues right until next command comes. In this condition front side motor turns
front side wheels in right direction and rear motor runs in forward direction and by touching stop
button we can stop the car.
Bluetooth module’s rx and tx pins are directly connected at tx and rx of Arduino. And vcc and
ground pin of Bluetooth module is connected at +5 volt and gnd of Arduino. And a 9 volt battery
is used for power the circuit at Arduino’s Vin pin. Then we have created functions for different
directions of car.
There are five conditions for this Bluetooth controlled car with robotic hand
which are used to give the directions:
Table 5.1: Conditions to Control Bot
5.3 Limitations
As the range of the Bluetooth Communication is limited (a maximum of 60 meters for class 2
devices for example) the control range of Bluetooth Controlled Robot is also limited. Make sure
that sufficient power is provided to all the modules especially the Bluetooth Module. If the power
is not sufficient, even though the Bluetooth Module powers on, it cannot transmit data or cannot
be paired with other Bluetooth devices.
5.4 Applications
Low range Mobile Surveillance Devices
Military Applications (no human intervention)
Assistive devices (like wheelchairs)
Home automation
5.5 Advantages
Easy to install and low cost.
Manually operate.
Chapter 6
CONCLUSION & FUTURE SCOPE
6.1 Conclusion:
The Internet of Things (IoT) has become an integral part of both computer science and daily life,
offering endless possibilities for innovation. This project explores the development of a Bluetooth-
controlled RC car integrated with Arduino and robotic hands. Arduino, an open-source
microcontroller, serves as the brain of this system, offering user-friendly programming, inbuilt
converters, and I/O pins. By combining Arduino with a Bluetooth shield, we enabled remote
control of the car via a custom Android app developed in Android Studio. The robotic hands,
powered by servo motors, add versatility, providing the ability to perform up-and-down motions
that can be programmed for specific tasks. The RC car recognizes user commands to move
forward, backward, left, and right, achieving high accuracy within a Bluetooth range of 10–20
meters.
Through this project, we gained insights into how Arduino can convert digital signals into physical
movements, allowing seamless control of devices. Adding sensors like ultrasonic or infrared could
further enhance the car’s functionality, enabling autonomous features like obstacle avoidance.
Additionally, rechargeable batteries such as Ni-Cd or Li-ion could address current power
limitations, improving the car's sustainability. By upgrading the robotic hands with more precise
actuators and sensors, this RC car could evolve into a multifunctional robot suitable for
surveillance, material handling, or exploration. These improvements highlight the potential of
Arduino-based IoT systems in creating adaptable, efficient solutions for real-world problems.
This prototype demonstrates how IoT and robotics intersect to create innovative modules that
reduce manual effort while increasing functionality. The Bluetooth-controlled car with robotic
hands serves as a stepping stone toward advanced robotic systems capable of self-monitoring and
automation. Such advancements could significantly impact areas like smart homes, surveillance,
and industrial automation, underscoring the importance of IoT and Arduino in shaping the future
of technology.
cost and ease of use, leading to higher volume and popularity, and community support behind it.
Arduino has made it simple to program their boards with any computer via USB and simple to
integrate with a wide array of sensors and devices. The Arduino is great for hobbyists, prototypes,
and people just starting out in robotics because of its low cost, ease of use, and large following
online. It's easy to learn and teach people to be able to do basic things with the Arduino, yet it's
capable enough to do fairly sophisticated things if you as a developer have the capability to take
advantage of it. It's allowing people to develop projects inexpensively to build and control their
own devices, such as sensors that send data to the Internet and control systems for all kinds of
things. It's also reducing the cost of development by allowing companies to develop prototypes
much more quickly and with less initial investment.
Chapter 8
Photo Gallery
References:
[1] Nádvorník, J., & Smutný, P. (2014). Remote Control Robot Using Android Mobile Device.
Proceedings of the 2014 International Carpathian Control Conference (ICCC), 273–276.
[2] Sureshbabu, A., Metta, G., & Parmiggiani, A. (2019). A Systematic Approach to Evaluating
and Benchmarking Robotic Hands—The FFP Index. Robotics, 8(1), 7.
https://doi.org/10.3390/robotics8010007.
[3] Vertongen, J., Kamper, D.G., Smit, G., & Vallery, H. (2020). Mechanical Aspects of Robot
Hands, Active Hand Orthoses, and Prostheses: A Comparative Review. IEEE Transactions on
Mechatronics, 25(3), 1046-1063. https://doi.org/10.1109/TMECH.2020.3014182.
[4] Salvietti, G., Gioioso, G., Malvezzi, M., & Prattichizzo, D. (2018). Replicating Human Hand
Synergies onto Robotic Hands: A Review on Software and Hardware Strategies. Frontiers in
Robotics and AI. https://doi.org/10.3389/frobt.2018.00005.
[5] Smith, J., et al. (2023). Autonomous Soft Hand Grasping - Literature Review. Journal of
Robotics, 5(3), 145-160. https://doi.org/10.3389/frobt.2023.0045.
[6] Current Designs of Robotic Arm Grippers A Comprehensive Systematic Review was authored
by Jaime R. Hernandez, Md. Samiul Haque Sunny, Javier Sanjuan, Ivan Rulik, Md Ishrak
Islam Zarif, Sheikh Iqbal Ahamed, Helal Uddin Ahmed, and Mohammad H. Rahman. It was
published in Robotics in January 2023.