Вы находитесь на странице: 1из 12

ALLOTMENT ID NUMBER ROLL NUMBER

NAME OF THE INTERN NAME


WORKSHEET NUMBER 01
COMPANY/ORGANISATION INVENTIVE CORE INTEGRATIONS
TRAINER NAME S.K.MOINUDDIN

BLUETOOTH CONTROLLED ROBOT CAR USING ARDUINO

INTRODUCTION:

This project represents android application based Bluetooth controlled robotic car. Here main
motto of our project is to control the car with android application. Here we use mainly
Arduino UNO (ATMEGA 328P), Bluetooth module (HC-05). We interface the Bluetooth
module with the system so that we can easily control the system by smart phone application.
This project is more necessary to the modern society in context of spying and surveillance.
The project aims in designing a Robot that can be operated using Android mobile phone. The
controlling of the Robot is done wirelessly through Android smart phone using the Bluetooth
feature present in it. Here in the project the Android smart phone is used as a remote control
for operating the Robot. The controlling device of the whole system is a Microcontroller.
Bluetooth module, DC motors are interfaced to the Microcontroller. The data received by the
Bluetooth module from Android smart phone is fed as input to the controller. The controller
acts accordingly on the DC motors of the Robot. In achieving the task the controller is loaded
with a program written using Embedded ‘C’ language. Related reference articles
implementing wireless control of robots have been studied as mentioned in [1-12]. Still there
exists a requirement of a cost-effective automation system, which will be easy to implement.
HARDWARE REQUIREMENTS:

 Arduino Uno(ATMEGA 328P)


 Bluetooth Module(HC-05)
 Smart Phone
 Motor Driver(L293D)
 Arduino Software

ARDUINO UNO:

The Arduino Uno is a microcontroller board based on the ATmega328 . It has 14 digital
input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz crystal
oscillator, aUSB connection, a power jack, an ICSP header, and a reset button. It contains
everything needed tosupport the microcontroller; simply connect it to a computer with a USB
cable or power it with a AC-to-DCadapter or battery to get started. The Uno differs from all
preceding boards in that it does not use the FTDIUSB-to-serial driver chip. Instead, it features
the Atmega8U2 programmed as a USB-to-serial converter."Uno" means one in Italian and is
named to mark the upcoming release of Arduino 1.0. The Uno and version1.0 will be the
reference versions of Arduino, moving forward. The Uno is the latest in a series of USB
Arduino boards, and the reference model for the Arduino platform.
Technical Specifications:

1 Microcontroller ATmega328
2 Operating Voltage 5V
3 Input Voltage (recommended) 7-12V
4 Input Voltage (limits) 6-20V
5 Digital I/O Pins 14 (of which 6 provide PWM output)
6 Analog Input Pins 6
7 DC Current per I/O Pin 40 mA
8 DC Current for 3.3V Pin 50 mA
9 Flash Memory 32 KB of which 0.5 KB used by bootloader
10 SRAM 2 KB
11 EEPROM 1 KB
12 Clock Speed 16 MHz

Power:

The Arduino Uno can be powered via the USB connection or with an external power supply.
The power source is selected automatically.
External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery.
The adapter can be connected by plugging a 2.1mm center-positive plug into the board's
power jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the
POWER connector. The board can operate on an external supply of 6 to 20 volts. If supplied
with less than 7V, however, the 5Vpin may supply less than five volts and the board may be
unstable. If using more than 12V, the voltage regulator may overheat and damage the board.
The recommended range is 7 to 12 volts.

The power pins are as follows:

VIN: The input voltage to the Arduino board when it's using an external power source (as
opposed to 5 volts from the USB connection or other regulated power source). You can
supply voltage through this pin, or, if supplying voltage via the power jack, access it through
this pin.
5V: The regulated power supply used to power the microcontroller and other components on
the board. This can come either from VIN via an on-board regulator, or be supplied by USB or
another regulated 5V supply.
3V3: A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.
GND: Ground pins

Memory:

The Atmega328 has 32 KB of flash memory for storing code (of which 0,5 KB is used for the
bootloader); It has also 2 KB of SRAM and 1 KB of EEPROM.

Input and output:

Each of the 14 digital pins on the Uno can be used as an input or output, using pinMode(),
digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can provide or
receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of
20-50 kOhms. In addition, some pins have specialized functions:
• Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. TThese pins
are connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip .
• External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low
value, arising or falling edge, or a change in value. See the attachInterrupt() function for
details.
• PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function.
• SPI: 10 (SS),11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication, which,
although provided by the underlying hardware, is not currently included in the Arduino
language.
• LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the
LED is on, when the pin is LOW, it's off.

The Uno has 6 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different
values). By default they measure from ground to 5 volts, though is it possible to change the
upper end of their range
using the AREF pin and the analogReference() function. Additionally, some pins have
specialized functionality:
• I2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire library.
There are a couple of other pins on the board:
• AREF. Reference voltage for the analog inputs. Used with analogReference().
• Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button
to shields which block the one on the board.
Communication:

The Arduino Uno has a number of facilities for communicating with a computer, another
Arduino, or other microcontrollers. The ATmega328 provides UART TTL (5V) serial
communication, which is available on digital pins 0 (RX) and 1 (TX). An ATmega8U2 on the
board channels this serial communication over USB and appears as a virtual com port to
software on the computer. The '8U2 firmware uses the standard USB COM drivers, and no
external driver is needed. However, on Windows, an *.inf file is required. The Arduino
software includes a serial monitor which allows simple textual data to be sent to and from the
Arduino board. The RX and TX LEDs on the board will flash when data is being transmitted via
the USB-to-serial chip and USB connection to the computer (but not for serial communication
on pins 0 and 1.A SoftwareSerial library allows for serial communication on any of the Uno's
digital pins.

BLUETOOTH MODULE(HC-05):

HC‐05 module is an easy to use Bluetooth SPP (Serial Port Protocol) module,designed for
transparent wireless serial connection setup.The HC-05 Bluetooth Module can be used in a
Master or Slave configuration, making it a great solution for wireless communication.This
serial port bluetooth module is fully qualified Bluetooth V2.0+EDR (Enhanced Data Rate)
3Mbps Modulation with complete 2.4GHz radio transceiver and baseband. It uses CSR
Bluecore 04‐External single chip Rluetooth system with CMOS technology and with AFH
(Adaptive Frequency Hopping Feature).

The Bluetooth module HC-05 is a MASTER/SLAVE module.By default the factory setting is
SLAVE.The Role of the module (Master or Slave) can be configured only by AT
COMMANDS.The slave modules cannot initiate a connection to another Bluetooth device, but
can accept connections.Master module can initiate a connection to other devices.The user
can use it simply for a serial port replacement to establish connection between MCU and GPS,
PC to your embedded project, etc.
PIN DESCRIPTION:

The HC-05 Bluetooth Module has 6pins. They are as follows:

ENABLE:
When enable is pulled LOW, the module is disabled which means the module will not turn on
and it fails to communicate.When enable is left open or connected to 3.3V, the module is
enabled i.e the module remains on and communication also takes place.
Vcc:
Supply Voltage 3.3V to 5V
GND:
Ground pin
TXD & RXD:
These two pins acts as an UART interface for communication

STATE:
It acts as a status indicator.When the module is not connected to / paired with any other
bluetooth device,signal goes Low.At this low state,the led flashes continuously which denotes
that the module is not paired with other device.When this module is connected to/paired
with any other bluetooth device,the signal goes High.At this high state,the led blinks with a
constant delay say for example 2s delay which indicates that the module is paired.
BUTTON SWITCH:
This is used to switch the module into AT command mode.To enable AT command
mode,press the button switch for a second.With the help of AT commands,the user can
change the parameters of this module but only when the module is not paired with any other
BT device.If the module is connected to any other bluetooth device, it starts to communicate
with that device and fails to work in AT command mode.

HARDWARE FEATURES:

Typical ‐80dBm sensitivity.


Up to +4dBm RF transmit power.
3.3 to 5 V I/O.
PIO(Programmable Input/Output) control.
UART interface with programmable baud rate.
With integrated antenna.
With edge connector.
Software Features
Slave default Baud rate: 9600, Data bits:8, Stop bit:1,Parity:No parity.
Auto‐connect to the last device on power as default.
Permit pairing device to connect as default.
Auto‐pairing PINCODE:”1234” as default

SMART PHONE:
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
the Bluetooth RC Controller application (Figure 3) 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.
MOTOR DRIVER(L293D):
Motor driver IC is used to control the dc motors. It is also interfaced with the microcontroller
and with circuit connections.

L293D is a typical Motor driver or Motor Driver IC which allows DC motor to drive on either
direction. L293D is a 16-pin IC which can control a set of two DC motors simultaneously in any
direction. It means that you can control two DC motor with a single L293D IC. Dual H-bridge
Motor Driver integrated circuit (IC).
ARDUINO SOFTWARE:
Arduino software is used to put the instruction of whole functions of this system to the
microcontroller. Here we use programming language ‘C’ for coding. The program for
executing this project has been written in C language. The program is burnt in the
microcontroller using burner software. The program is stored in the EEPROM of the
microcontroller, which is present in the Arduino board. By this software we put the data and
instruction for forward, backward, left, right operation of this system. In android application
when we press a button, a corresponding signal is sent through the Bluetooth to Bluetooth
module (HC-05) which is connected with the Arduino board. When signal data arrives the
Arduino the pin which corresponds to the particular input is set to high. Now that pin gives
the output to the motor driver section. Motor driver switches accordingly the data bit, if the
data bit is low then the corresponding pin of the motor driver doesn’t work else highbit then
the correspondingpinof the motor driver is on. We have used Arduino IDE version 1.8.1 for
writing program for Arduino. There are two steps of the programming. First set up section
where we define all the variables. Second loop part where the program runs continuously.

WORKING PRINCIPLE:
The working principle is kept as simple as possible. The working principle of the circuit has
been elaborated with the help of a block diagram, of the system interconnection . A DC
power supply is required to run the system. The DC power supply feeds the Microcontroller
and the Bluetooth module. The Bluetooth module receives the signal sent from an android
smart-phone, where the application software coded in C language is installed. The
microcontroller, thereby, sends instructions, which when executed, helps in functioning of
the motor driver. The movement and functioning of the motor can be controlled by using the
android based application software.
Hardware of this project consists of Arduino UNO, Bluetooth module and a motor driver IC.
The Bluetooth module is connected with the Arduino UNO board for the connection with the
user. Through the Bluetooth module for monitoring and controlling the particular motor
reaches the board and process accordingly and the output of the Arduino goes to the motor
driver IC and it controls the particular motor.

Our proposed project consists of the following three


sections:

a) Input section
b) Microcontroller section
c) Output section

In our android application base Bluetooth controlled robotic car, the user interacts with the
system with a smart phone. In this method user must be present within in range (< 15
meters) to control the system. In future we would try to extend the range using Internet of
Things (IoT). When user sends any data to the Arduino board then the corresponding pin of
Arduino goes to high state and switches the motor driver ic in the on mode. The
corresponding motor moves as per the input data. Here in this project the user (android
application) is the input section. This device is connected with the Arduino board
(microcontroller section) by the means wirelessly i.e. Bluetooth module. The system can now
be connected with the motors (output section) to be controlled via wireless connectivity.
Here at first we construct the circuit.Then through the data cable we insert the commands in
the microcontroller ATMEGA 328P. These commands help the microcontroller to interface
with the Bluetooth module HC-05 and also with the motor driver IC 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. The Bluetooth module can operate below the 10 m range, which we would try to
extend in future. Here we are using four 12 V, 200 R.P.M DC motors and a 9 V DC battery as
main power supply of this system. Until we send any instruction to the microcontroller the
motors remain stop. When any input is given then the motors moves as per the preloaded
functions in the microcontroller.

CONCLUSION:
This is indeed a cost-effective and efficient project. The novelty lies in the fact that it is a cost-
effective project with a simple and easy to use interface compared to existing ones. Also the
Bluetooth RC Controller application is more user friendly. The robot is small in size so it can
be used in spying purpose. With few additions and modifications, this robot can be used in
army for detecting and disposing hidden land mines. The robot can be used for surveillance.

In future we can interface sensors to this robot so that it can monitor some parameters and
we can improve the efficiency using Internet of Things (IoT) technology. We can also add
wireless camera, in order to incorporate other security features.

Вам также может понравиться