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.
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:
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.
As we know that Vcc and Gnd of the module goes to Vcc and Gnd of Arduino.The TXD pin goes to RXD pin of Arduino and RXD pin goes to TXD pin of Arduino i.e(digital pin 0 and 1).The user can use the on board Led.But here,Led is connected to digital pin 12 externally for betterment of the process.
The program given below is the HC-05 bluetooth module program.This process is quite different from others since we are going to use android mobile to control and communicate with arduino.Here the bluetooth module acts as an interface between our mobile and Arduino board.Before getting into the execution process,follow the given procedure:
#includeSoftwareSerial mySerial(0, 1); int ledpin=12; int Data; void setup() { mySerial.begin(9600); pinMode(ledpin,OUTPUT); } void loop() { if (mySerial.available()) { Data=mySerial.read(); if(Data=='1') { digitalWrite(ledpin,HIGH); mySerial.println("LED On! "); } else if (Data=='0') { digitalWrite(ledpin,LOW); mySerial.println("LED Off! "); } } }