Модуль bluetooth hc-05(06)

Communcation Between Two HC-05 Bluetooth Module Example

Ok so now we are ready make the practical example for this tutorial. Here’s the circuit schematics. We will use a potentiometer, at the master, to control a servo motor at the slave. And vice versa, we will use a push button, at the slave, to control a LED at the master.

You can get the components needed for this Arduino tutorial from any of the sites below:

  • HC-05 Bluetooth Module ……………. Amazon / Banggood / AliExpress
  • Arduino Board …………………………… Amazon / Banggood / AliExpress
  • Servo Motor…………………………….…. Amazon / Banggood / AliExpress
  • Potentiometer……………..………..……. Amazon / Banggood / AliExpress
  • 3x 220 Ohms resistors………………… Amazon / Banggood / AliExpress
  • Breadboard and Jump Wires ………. Amazon / Banggood / AliExpress

Disclosure: These are affiliate links. As an Amazon Associate I earn from qualifying purchases.

Настройка Bluetooth модуля HC-05/06

Для этого занятия нам потребуется:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • Bluetooth модуль HC-05/06;
  • провода «папа-папа» и «папа-мама».

Настройка Bluetooth модуля с помощью AT-команд

Скетч для прошивки блютуз модуля Arduino

#include <SoftwareSerial.h>    // подключаем библиотеку
SoftwareSerial mySerial(2,3);  // указываем пины tx и rx

void setup() {
  pinMode(2,INPUT);
  pinMode(3,OUTPUT);
  
  Serial.begin(9600);         // включаем hardware-порт
  mySerial.begin(38400);  // включаем software-порт
  
  Serial.println("start setting");
}

void loop() {
    if (mySerial.available()) {
        char c = mySerial.read();  // читаем из software-порта
        Serial.print(c);                   // пишем в hardware-порт
    }
    if (Serial.available()) {
        char c = Serial.read();      // читаем из hardware-порта
        mySerial.write(c);            // пишем в software-порт
    }
}

Пояснения к коду:

В программе все предельно просто: при получении данных на аппаратном (встроенном) последовательном порту, данные отправляются в программный последовательный порт (на модуль). А при получении данных с модуля, они отправляются на аппаратный последовательный порт, то есть на монитор порта.

Настройка модуля через монитор порта Arduino IDE

Итак, чтобы изменить код доступа к Bluetooth-модулю, имя или другие характеристики, следует отправить следующие команды через монитор последовательного порта Arduino IDE (смотри скрин ниже). Также приведем пошаговую инструкцию, какие необходимо использовать AT команды для перепрошивки HC-05. А в конце статьи размещена более полная таблица at команд с небольшими пояснениями.

  1. узнаем версию прошивки модуля: AT+VERSION?
  2. узнаем режим работы модуля: AT+ROLE?
  3. узнаем имя Bluetooth-модуля: AT+NAME?
  4. задаем новое имя модуля: AT+NAME=ROBOT
  5. узнаем имя Bluetooth-модуля: AT+NAME?
  6. узнаем пин-код Bluetooth-модуля: AT+PSWD?
  7. задаем новый пин-код доступа: AT+PSWD=0000
  8. узнаем пин-код Bluetooth-модуля: AT+PSWD?

Обратите внимание, что при настройке модуля, в мониторе последовательного порта IDE Arduino следует выбрать пункт «NL & CR». После программирования модуля отсоедините вывод 34 от 3,3 Вольт и подключитесь к Bluetooth-модулю с телефона или планшета

Если при первом подключении блютуз модуля к Ардуино, у нас были стандартные настройки, то сейчас наш модуль имеет свое имя и новый пин-код.

Настройка bluetooth модуля на Android

Таким образом, мы можем использовать в одном месте сразу несколько bluetooth модулей, а чтобы не запутаться присвоить каждому свое уникальное имя. Также мы можем задать новый пин-код, чтобы защитить модуль от постороннего вмешательства. С помощью данной настройки модуля НС-05/06 мы можем получать данные с датчиков не только на мониторе порта, но и на любом Android — устройстве.

AT OK Тестовая команда
AT+VERSION? +VERSION: … Узнать версию прошивки модуля
AT+RESET OK Сброс настроек
AT+ADDR? +ADDR: … Узнать адрес модуля
AT+NAME? +NAME:«name» Узнать имя модуля, где «name» — имя Bluetooth-модуля
AT+NAME=«name» OK Установить новое имя, где «name» — имя Bluetooth-модуля
AT+PSWD? + PSWD:«pin» Узнать код доступа, где «pin» — код, по умолчанию 1234
AT+PSWD=«pin» «pin»
OK
Установить новый код доступа к модулю, где «pin» — код доступа к Bluetooth-модулю
AT+ROLE? +ROLE:«param» Узнать режим работы модуля, где «param» — режим:
0 — slave. К модулю может подключиться мастер;
1 — master. Модуль сам подключается к устройству.
AT+ROLE=«param» OK Установить режим работы модуля, где «param» — режим

Step 3: Send Serial Commands to Arduino Using Serial Monitor (or Any Terminal)

Upload the following sketch to the Arduino using USB cable.

Caution: Disconnect the HC-05 bluetooth module Rx and Tx pins from Arduino Uno as this particular board has only one hardware serial and connecting something to it while uploading a sketch will create conflict or your can using Arduino SoftwareSerial to avoid conflicts. Reconnect these pins once you are done uploading the sketch.

/*Arduino Turn LED On/Off using Serial Commands
Created April 22, 2015
Hammad Tariq, Incubator (Pakistan)

It’s a simple sketch which waits for a character on serial
and in case of a desirable character, it turns an LED on/off.

Possible string values:
a (to turn the LED on)
b (tor turn the LED off)
*/

char junk;
String inputString=»»;

void setup() // run once, when the sketch starts
{
Serial.begin(9600); // set the baud rate to 9600, same should be of your Serial Monitor
pinMode(13, OUTPUT);
}

void loop()
{
if(Serial.available()){
while(Serial.available())
{
char inChar = (char)Serial.read(); //read the input
inputString += inChar; //make a string of the characters coming on serial
}
Serial.println(inputString);
while (Serial.available() > 0)
{ junk = Serial.read() ; } // clear the serial buffer
if(inputString == «a»){ //in case of ‘a’ turn the LED on
digitalWrite(13, HIGH);
}else if(inputString == «b»){ //incase of ‘b’ turn the LED off
digitalWrite(13, LOW);
}
inputString = «»;
}
}

After uploading, open Arduino Serial Monitor, set the baud rate to 9600 and command line ending drop down (the one next to baud rate) to «No line ending», that means we will not be sending and /r or /n characters with our serial command.

Now type character «a» in the serial monitor and press send, the your LED should turn on, then send «b», the LED should turn off.

I have also attached the sketch file with this step, this is all we need at Arduino sketch level for turning LED on/off even through the Bluetooth and mobile app. In next step, we will communicate via bluetooth in order to play with our LED.

Connection via Hardware Serial

It allows to connect the module to the microcontroller pins, supporting one of the hardware serial ports. For different Arduino boards are different ports and contacts.

  • Arduino UNO and Nano: Serial (RX-0, TX-1);
  • Arduino MEGA and MEGA2560: Serial (RX-0, TX-1), Serial1 (RX-19 и TX-18), Serial2 (RX-17 и TX-16), Serial3 (RX-15 и TX-14);

Which port to use, and therefore the pins should be connected to the module, you must select in interface settings of editor. It should also be borne in mind that for Arduino boards Serial port enabled for the microcontroller programming, and if you decide to use this port, you must disconnect the HC-05(06) module when programming it. A good solution is to use the boards Arduino MEGA any port other than Serial.

Also in the settings must be select the baud rate for serial port. Module HC-05(06) set to a default speed of 9600 baud. The baud rate can be changed by AT commands (requires special knowledge), but if you do not change the speed, set the default value 9600 baud.

Example of HC-05(06) module connecting via HardwareSerial by pins 0(RX) and 1(TX) on the picture. Please note that you must connect to pins the cross hairs, pin 0(RX) of Arduino to TX of HC-05(06) module and pin 1(TX) to the RX pin of module.

1Описание модуля bluetooth HC-06

Данный модуль работает на частоте от 2,40 ГГц до 2,48 ГГц и поддерживает спецификацию bluetooth версии 2.1+EDR: пониженное потребление энергии, повышенный уровень защиты данных и лёгкое соединение Bluetooth-устройств. Устойчивый приём с модулем гарантирован в пределах 10 метров.

Назначение выводов bluetooth-модуля HC-06

Назначение выводов bluetooth-модуля такое:

Вывод Назначение
VCC и GND «плюс» и «минус» питания модуля, поддерживаются напряжения от 3,6 до 6 вольт;
TX и RX передатчик и приёмник модуля;
MCU-INT (Status, State) вывод статуса;
Clear (Reset) сброс и перезапуск модуля, в данном случае осуществляется низким логическим уровнем.

Последние два вывода могут быть не задействованы; часто можно встретить модули вообще без этих выводов.

2Схема подключенияbluetooth-модуля к Arduino

Подключим bluetooth модуль к Arduino по приведённой схеме

Обратите внимание, что передатчик (Tx) Ардуино подключается к приёмнику (Rx) модуля, и наоборот

Схема подключения модуля bluetooth к Arduino

На выводе Status появляется высокий уровень, когда модуль сопряжён с другим bluetooth устройством, и низкий – когда не сопряжён. Можно считывать его значение, подключив к пину Arduino и назначив ему режим работы pinMode(pinStatus, INPUT) и таким образом узнавать состояние модуля. Но не на всех модулях индикатор статуса работает корректно, поэтому мы не будем его использовать в данном примере.

В результате должно получиться примерно как на фотографии.

Bluetooth модуль подключён к Arduino

Программирование платы Arduino с помощью технологии Bluetooth

Для беспроводного программирования платы Arduino первым делом мы должны написать программу чтобы плата Arduino отвечала на AT команды. Для этого подключите плату Arduino к компьютеру с помощью USB кабеля и загрузите в нее следующий код программы:

Arduino

#include <SoftwareSerial.h>
SoftwareSerial HC05(2,3);
void setup()
{
Serial.begin(9600);
Serial.println(«Enter AT commands:»);
HC05.begin(38400);
}
void loop()
{
if (HC05.available())
Serial.write(HC05.read());
if (Serial.available())
HC05.write(Serial.read());
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

#include <SoftwareSerial.h>

SoftwareSerialHC05(2,3);

voidsetup()

{

Serial.begin(9600);

Serial.println(«Enter AT commands:»);

HC05.begin(38400);

}

voidloop()

{

if(HC05.available())

Serial.write(HC05.read());

if(Serial.available())

HC05.write(Serial.read());

}

В первых двух строках этого кода программы происходит подключение библиотеки последовательной связи SoftwareSerial и указываются передающий и приемный контакты, с помощью которых будет происходить взаимодействие с модулем Bluetooth. Библиотека SoftwareSerial позволяет организовать последовательную связь (последовательный порт) на любых двух цифровых контактах платы Arduino. Также с помощью этой библиотеки можно организовать сразу несколько последовательных портов в плате Arduino.

Arduino

#include <SoftwareSerial.h>
SoftwareSerial HC05(2,3);

1
2

#include <SoftwareSerial.h>

SoftwareSerialHC05(2,3);

Далее в функции setup мы установим скорость последовательной передачи данных для аппаратного и программного созданного (с помощью библиотеки SoftwareSerial) последовательных портов – 9600 и 38400 бод соответственно.

Arduino

void setup()
{
Serial.begin(9600);
Serial.println(«Enter AT commands:»);
HC05.begin(38400);
}

1
2
3
4
5
6

voidsetup()

{

Serial.begin(9600);

Serial.println(«Enter AT commands:»);

HC05.begin(38400);

}

Затем в функции loop мы будем использовать два условия (с помощью оператора if). В первом условии мы будем проверять поступает ли какая либо информация от модуля HC05 – если да, то мы будем передавать ее по аппаратному последовательному порту платы Arduino. Во втором условии мы будем проверять поступают ли какие либо команды из окна монитора последовательной связи (Arduino Serial Monitor) – если да, то мы будем передавать их модулю HC05.

Arduino

void loop()
{
if (HC05.available())
Serial.write(HC05.read());
if (Serial.available())
HC05.write(Serial.read());
}

1
2
3
4
5
6
7

voidloop()

{

if(HC05.available())

Serial.write(HC05.read());

if(Serial.available())

HC05.write(Serial.read());

}

Далее подключим модуль HC05 к плате Arduino чтобы она работала в режима приема (и исполнения) AT команд. Схема этого подключения представлена на следующем рисунке:

Перед подключением платы Arduino к компьютеру нажмите key button на Bluetooth модуле и затем подключайте плату к компьютеру. Держите key button в нажатом состоянии до тех пор пока светодиод на Bluetooth модуле не начнет мигать с интервалом 2 секунды. В режиме команд (command mode) светодиод Bluetooth модуля мигает медленнее чем в обычном режиме функционирования.

Теперь откройте монитор последовательного порта и вводите в нем следующие представленные команды. В ответ на эти команды плата должна отвечать сообщением «OK» если команда была выполнена успешно.

Если все представленные AT команды успешно протестированы, разберите схему и соберите новую схему, представленную на следующем рисунке:

Внешний вид этой схемы, собранной на макетной плате, выглядит следующим образом:

Используйте адаптер питания или батарейку 9V чтобы подать питание на плату Arduino. После этого зайдите в «устройства» (‘Devices’) вашего компьютера (ноутбука) и включите Bluetooth, после чего соединитесь по Bluetooth с модулем HC05.

После того, как Bluetooth соединение между устройствами будет установлено, необходимо определить COM порт компьютера/ноутбука, к которому подключился Bluetooth модуль HC05. Для этого зайдите в диспетчер устройств (‘Device Manager’) и проверьте в нем устройства, которые подключены по COM портам. Там должно показываться два порта: один для входящей и один для исходящей связи. Нам будет необходим номер второго из этих COM портов поскольку мы собираемся передавать код программы в плату Arduino.

Теперь откройте Arduino IDE и в ней выберите пример программы с миганием светодиода, затем выберите необходимый COM порт и нажмите кнопку загрузки программы (upload button). Если все прошло хорошо, то встроенный в плату Arduino светодиод начнет мигать с интервалом в 1 секунду.

Arduino Bluetooth Projects

To end today’s guide to Arduino Bluetooth modules, here are two simple Arduino Bluetooth projects you can get started!

Control your robotic car through Bluetooth

Robotics and Arduino is a fun and interesting hobby which is very commonly seen nowadays. With this project, you can experience that through the help of Bluetooth!

Here’s what you need:

Hardware components:

  • 2 Seeeduino Lotus
  • 2 Grove – Serial Blueseeed (CSR BC417)
  • Shield Bot or other cars
  • Grove – Mini Track Ball

Software apps and other services:

Arduino IDE

Interested to find out more? Check out the full tutorial by Kevin-Lee on Seeed Community Hub!

Fun, Little, Scary Horror Doll

Want to pull a little prank on someone and get their hilarious reaction? This project is the one for you!

It uses a controller to small doll eyes emitting light of terror. It can swing and turn hands, head, and emits a scream of terror. Mount a PIR sensor above and when someone is close to it, it’ll jump out to scare them!

Here’s what you need:

Hardware components:

  • Grove – PIR Motion Sensor
  • 2 Grove – Chainable RGB LED
  • Grove – Servo
  • Grove – Serial Blueseeed (CSR BC417)

This project uses Wio Link, however, you can still use an Arduino board with a Grove – Base Shield

Interested to find out more? Check out the full tutorial by shijian.fang on Seeed Community Hub!

Назначение функций:

Подробное описание работы с библиотекой и примеры смотрите на нашем сайте

Подключение библиотеки

#include <iarduino_Bluetooth_HC05.h> // Подключаем библиотеку для работы с модулем
iarduino_Bluetooth_HC05 ОБЪЕКТ( ВЫВОД_K ); // Создаём объект указывая вывод Arduino подключённый к выводу K модуля

Инициализация работы

ОБЪЕКТ.begin(  ); // Инициализация работы с модулем по шине UART.

Создание ведомого

ОБЪЕКТ.createSlave( ИМЯ , PIN-КОД ); // Создание ведомого (Slave) ожидающего подключение.

Создание ведущего

ОБЪЕКТ.createMaster( ИМЯ , PIN-КОД ); // Создание ведущего (Master) с подключением к ведомому.

Поиск устройств

ОБЪЕКТ.find( ВРЕМЯ ,  ); // Поиск устройств Bluetooth в радиусе действия.

Разрыв подключения

ОБЪЕКТ.end(); // Разрыв подключения к внешнему Bluetooth устройству.

Проверка подключения

ОБЪЕКТ.checkConnect(); // Проверка подключения к внешнему Bluetooth устройству.

Отправка данных

ОБЪЕКТ.send( ДАННЫЕ ); // Отправка данных внешнему Bluetooth использующему эту библиотеку.

Чтение данных

ОБЪЕКТ.read( ПЕРЕМЕННАЯ ); // Чтение данных от внешнего Bluetooth использующего эту библиотеку.

Проверка наличия данных

ОБЪЕКТ.available(  ); // Проверка наличия принятых данных.

Выполнение AT-команд

ОБЪЕКТ.runAT( КОМАНДА ] ); // Выполнение AT-команд и вывод результата.

Результат AT-команды

ОБЪЕКТ.flgResult // (int8_t) содержит результат AT-команды (-1: Error(*), 0: Неизвестно, 1: OK).

Адреса найденных устройств

ОБЪЕКТ.findAddr // (char*) содержит пять строк с адресами найденных Bluetooth устройств.

Имена найденных устройств

ОБЪЕКТ.findName // (char*) содержит пять строк с именами найденных Bluetooth устройств. Если имя устройства не получено, то вместо имени будет указан его адрес.

Примечание:

Данная библиотека работает только с Trema Bluetooth модулями HC-05.

Если Вы используете Trema Bluetooth модуль HC-05 для соединения со сторонними Bluetooth устройствами (не использующими данную библиотеку), то можно вызывать любые функции, кроме функций передачи и приёма данных: available(), read() и send() данной библиотеки. Вместо них используйте функции available(), read() и print(), println(), или write() класса Serial, или объекта UART указанного при инициализации.

Дело в том что указанные функции данной библиотеки дополнительно передают / принимают 4 байта (информация о типе данных, типе переменной или размере массива и CRC16 для проверки целостности принятых данных). Также функция available(), при наличии успешно принятых данных, отправляет передатчику сигнал подтверждения приёма, благодаря чему функция send() возвращает true или false.

Code

After your module is paired, you can modify the following code to obtain the desired functionality. In this example, we expect the other device (such as an app on smartphone) to send  the command ON or OFF to activate a function on the Arduino.

To handle the module HC-06 we use the library SoftwareSerial.h which allows to define Serial port on the Arduino board. Functions to be known are:

  • SoftwareSerial hc06(Rx,Tx) to define the pins of the serial port
  • hc06.begin() to define the baudrate (value should be the same as your module)
  • hc06.available() to test if data are available in the buffer of the module
  • hc06.read() to read data one byte at a time
  • hc06.print() to send a string in ASCII form
  • hc06.write() to send data one byte at a time

Introduction: Arduino AND Bluetooth HC-05 Connecting Easily

By Mohannad RawashdehMohannad RawashdehFollow

More by the author:

About: Maker, PCB designer , electronics instructor from Jordan just one word ! I Adore electronics follow me on FB https://www.facebook.com/Mohannad-Rawashdeh-Raw-774983565988641/

More About Mohannad Rawashdeh »

Hello Every body , This is my first artical on Instructable.com , I’m so happy for that , and I will start by How to connect arduino with bluetooth , I suffered a lot of problems when I try to connect it as the website and instructable artical did , So i decided To share my experience with You The bluetooth module I will use today is HC-05 which is so familiar and cheap , Most tutorial on The website Connect the bluetooth with default Rx and Tx on the arduino Board , I faced a lot of problem and bluetooth didn’t work will . But arduino  support something Called Software Serial , which allow You to change any arduino board pin to serial pin so After reading this article you will be able to:1) Connect arduino Board with PC By Bluetooth , to send and receive data . 2)Connect arduino Board with Any android device . so you can send your information , Like Sensors reading , from arduino to PC Or android device , and you can build your Home automation system by bluetooth , and controlling your robot wirelessly

Схема и распиновка Bluetooth модуля

HC05/06 Bluetooth модуль распиновка, схема

Для настройки модуля необходимо подключить к нему питание от 3,3 Вольт, кроме того необходимо подать 3,3 Вольта на порт 34 (см. фото выше). Прошивка осуществляется по последовательному порту, так как аппаратный последовательный порт у Ардуино (порты TX и RX) будет занят для отправки AT-команд с компьютера, то мы используем программный последовательный порт с помощью библиотеки SoftwareSerial.h.

Данная библиотека позволяет реализовать программный последовательный порт на любых цифровых выходах Ардуино. Для настройки Bluetooth модуля его следует перевести в режим отладки — необходимо подключить вывод 34 к 3,3 Вольтам, питание модуля при прошивке тоже идет от 3,3 Вольт. В качестве контактов программного последовательного порта будем использовать цифровые выводы 2 и 3 на Arduino UNO.

Controlling Arduino Using a Laptop or PC via Bluetooth Communication

Let’s see how we can control the Arduino via Bluetooth using a Laptop or a PC. So, first we need to pair our laptop to the HC-05 Bluetooth module and we can do that from the Laptop Bluetooth Settings. The laptop will discover the HC-05 module and using the ‘1234’ password we will pair the devices.

Once we will pair the devices in the Laptop Device Manager, under Ports (COM & LPT), two new entities will appear named “Standard Serial over Bluetooth link”. From here we can see the COM Port number of the serial port through which the devices will communicate.

We will stick with the same example as previously, turning on and off a LED and sending back a string to the laptop, so we will use the same Arduino code as previously described.

Step 1: Identifying Your Module

First thing you need to do is identify your module. It can be either HC05 or HC06. Both the modules are same in functionality except the pinout. Also HC05 can act as both master and slave whereas HC06 functions only as slave. It’s hard to differentiate between the two only by seeing. One probable way would be checking the back of the breakout board. If it has «JY-MCU» written on the back, it’s probably a HC06. Mine has «ZS-040» written and it is a HC05. And the HC06 module I tested had a bluetooth sign behind with three pcb footprints(refer to figure2). To confirm the device identity, you can power up the module, search for new device on your pc or mobile, and look for HC05 or HC06 on found device list.

Bluetooth в Arduino проектах

Самыми популярными модулями являются устройства на основе чипа BC417. Эта серия называется HC. Модули HC-03 и HC-05 могут быть и сервером соединения, и клиентом, они обладают широким набором АТ команд.

Для подключения к ПК потребуются модуль Bluetooth, плата Ардуино, соединительные провода и компьютер. Скетч для управления платой Ардуино через смартфон и компьютер будет одинаковым, так как в обоих случаях данные в микроконтроллер буду поступать по протоколу UART. Схема подключения Bluetooth-модуля к плате представлена на рисунке. Пин RX на ардуино подключается к TDX, TX – к RDX, GND – к GND, 5V – к VCC.

При загрузке скетча нужно отключить Bluetooth-модуль, иначе будет появляться ошибка доступа к Ардуино.  Также нужно установить на смартфон или планшет, поддерживающий ОС Android, приложение для отправки данных на модуль.  После установки приложения нужно загрузить скетч и подключить модуль к плате Ардуино.  Пример кода мигания светодиода:


int val;

void setup()

{

Serial.begin(9600);

pinMode(13, OUTPUT); // 13 пин – светодиод, объявляется как выход

}

void loop()

{

if (Serial.available()) // проверка поданных команд

{

val = Serial.read();

if (val == '1') {digitalWrite(13, HIGH);} // при 1 включается светодиод

if (val == '0') {digitalWrite(13, LOW);}  // при 0 выключается светодиод

}

}

Теперь нужно настроить соединение телефона и модуля. Для установки соединения нужно зайти в настройки телефона и включить Bluetooth. Как только устройство будет найдено, нужно ввести пароль – обычно это «1234» или «0000». После этого нужно зайти в приложение, нажать на кнопку «подключить Bluetooth» и выбрать нужное устройство. При успешном сопряжении на модуле светодиод начнет мигать медленнее,  примерно 1 раз в 2 секунды.

В скетче светодиод включается и выключается при получении цифр «1» и «0». Кроме цифр также можно использовать буквы латинского алфавита с учетом регистра.

Аналогичным образом можно подключаться к модулю при помощи компьютера. Для этого существуют различные программы, которые подключатся к COM-порту. При запуске программы запрашивают номер порта, скорость  и тип подключения. При успешном подключении на экране появится поле терминала, в которое нужно ввести с клавиатуры цифры/буквы, включающие светодиод.

Step 3: Arduino Code

As I mentioned before , I will use software serial library to make pin D10 & D11 As Tx & Rx instead of using the default Rx and tx » D0 &D1 On most arduino Board » . this program below allow us to control LED connected to D13 To blink on/off , by press # 1 from PC Keyboard the LED blink on , and if we press 0 LED blink off ! To send the Control commands from Computer to arduino , Go to the tera term , Run it , and choose Serial , and select the bluetooth Serial from the list as Shown on the picture . The code below : // This program shown how to control arduino from PC Via Bluetooth // Connect … // arduino>>bluetooth // D11   >>>  Rx // D10   >>>  Tx //Written By Mohannad Rawashdeh //for http://www.genotronex.com/ // you will need arduino 1.0.1 or higher to run this sketch #include <SoftwareSerial.h>// import the serial library SoftwareSerial Genotronex(10, 11); // RX, TX int ledpin=13; // led on D13 will show blink on / off int BluetoothData; // the data given from Computer void setup() {   // put your setup code here, to run once:   Genotronex.begin(9600);   Genotronex.println(«Bluetooth On please press 1 or 0 blink LED ..»);   pinMode(ledpin,OUTPUT); } void loop() {   // put your main code here, to run repeatedly:    if (Genotronex.available()){ BluetoothData=Genotronex.read();    if(BluetoothData==’1′){   // if number 1 pressed ….    digitalWrite(ledpin,1);    Genotronex.println(«LED  On D13 ON ! «);    }   if (BluetoothData==’0′){// if number 0 pressed ….   digitalWrite(ledpin,0);    Genotronex.println(«LED  On D13 Off ! «);   } } delay(100);// prepare for next data … } After uploading This sketch go to tera term and press 0 or 1 and see the results This Video show the results of this code .