LED Control Using Arduino Bluetooth And Android. (Part 1)

Bluetooth is a type of wireless communication used to transmit voice and data at high speeds using waves of radio. It’s widely used in mobile phones for making calls, headset and share data. This type of communication is a cheap and easy way to control something remotely using arduino.

HC-06 module has 4 pins to be connected to arduino, they are:

  • RXD
  • TXD
  • VCC
  • GND

RXD will receive data from arduino; TXD will send data to arduino; VCC is the power supply (3.3V 6.6V) and GND is the ground.

You gotta pay attention about the RXD level, some modules work with 5V, but this one works with 3.3V, and arduino TX will send a 5V signal, then it needs a voltage divider.

Voltage divider with R1 = 300Ω:

Vout = R2/(R2+R1) * Vin

3.3 = R2/(R2+300) * 5

3.3*R2 + 990 = 5*R2

R2 = 990/1.7

R2 ~ 600Ω

If you have a different resistor:

R2 = (3.3 * R1)/1.7Ω

Setting up:

1ª Connect the HC-06 module (See Pict.):

Arduino-------------HC-06

RX-------------------TXD

TX-------------------RXD

+5V-----------------VCC

GND----------------GND

2ª C code:

The sketch for this Project is very simple, all you have to do is check the serial port if there’s data available.

Using an android phone with a spp bluetooth apk, the command is sent to bluetooth (RX/TX). What happens is the bluetooth module communicates with android's bluetooth using a profile called SPP (Serial Port Profile). It emulates a USB Port connected to arduino and android.

Define all the pins and variables.

char command; String string;#define led 8

The default baud rate of HC-06 module is 9600. The void setup code:

void setup(){Serial.begin(9600); pinMode(led, OUTPUT);}

Void loop:

void loop(){ if (Serial.available() > 0) {string = "";} while(Serial.available() > 0) { command = ((byte)Serial.read()); if(command == ':') { break; } else { string += command; } delay(1); } if(string == "LO") { LEDOn(); } if(string =="LF") { LEDOff(); } }

There are two functions in the code. Actually their names says everything.

void LEDOn() { digitalWrite(led, HIGH); } void LEDOff() { digitalWrite(led, LOW); }

Tag » Arduino Led Bluetooth Android