CARA MUDAH MENGATUR AUTO PAIRING BLUETOOTH HC-05 (ANTAR BLUETOOH HC-05)

Easy Way To Set Auto Pairing Between Two Bluetooth HC-05



    بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ


Salam dari admin Creative Project. Semua pembahasan yang Admin tampilkan disini adalah semata-mata untuk berbagi, semoga bermanfaat bagi kita semua. Mohon maaf apabila terdapat kesalahan yang ada pada blog ini dikarenakan kurangnya ilmu dari Admin blog. Mohon dimaklumi bagi para pembaca, karena tak ada gading yang tak retak. Untuk itu pada setiap postingan yang dibuat akan menyertakan sumber project maupun sumber penulisan, agar pembaca dapat mengkoreksi kembali penulisan yang ada pada blog ini.


Pada postingan kali ini admin Creative Project akan membahas tentang modul Bluetooth Serial Port Protocol khususnya tipe Bluetooth HC-05. Sesuai dengan janji admin pada postingan sebelumnya yakni pada postingan dengan judul “MENGIRIM PROGRAM ARDUINO SECARA WIRELESS MENGGUNAKAN BLUETOOTH HC-05 [SOLVED]” bahwa kedepan akan dibuat pembahasan tentang teknik auto pairing pada Bluetooth HC-05. 

Selain alasan diatas terdapat beberapa alasan lain mengapa admin merasa perlu membuat pembahasan ini. Sebagai contoh, seperti yang diketahui jika ingin pairing (terhubung) ke Bluetooth HC-05, maka saat proses pairing dilakukan, Bluetooth yang meminta untuk terhubung (biasa disebut Bluetooth Master) perlu untuk memasukkan password yang dimiliki Bluetooth HC-05 yang dikirimi permintaan (biasa disebut Bluetooh Slave). Hal ini tentu bukan menjadi masalah jika yang meminta pairing berupa PC atau HP, karena pada PC atau HP akan muncul notifikasi dan meminta untuk memasukkan password Bluetooth Slave. Tetapi bagaimana jika ingin pairing dua buah Bluetooh HC-05 dimana keduanya dihubungkan dengan mikrokontroller atau sejenisnya. Maka caranya adalah dengan mengatur agar Bluetooth Master dapat mengenali spesifik address milik Bluetooth Slave, kemudian membuat permintaan pairing, yang dilakukan  secara otomatis. Teknik ini biasa disebut dengan auto pairing Bluetooth HC-05. 

Salah satu penerapan yang umum dilakukan adalah penggunaannya pada robot KRSTI (Kontes Robot Seni Tari Indonesia). Dengan memanfaatkan pertukaran data dari dua Bluetooth HC-05 tersebut maka gerakan dari kedua robot tersebut dapat dibuat serempak sehingga gerakan robot terlihat indah. Atau jika ingin membuat sendiri sebuah joystick dengan koneksi wireless (tanpa kabel) seperti yang pernah digunakan pada KRAI Badminton beberapa tahun lalu. Atau bisa juga digunakan untuk monitoring suatu perangkat misalnya pada pembuatan tugas akhir. Serta berbagai macam aplikasi lainnya yang membutuhkan koneksi dua buah Bluetooth HC-05. Dengan beberapa alasan diatas maka admin Creative Project menyajikan topik bahasan kali ini dengan judul “CARA MENGATUR AUTO PAIRING BLUETOOTH HC-05 (ANTAR BLUETOOH HC-05)”.

Adapun beberapa topik yang akan dibahas pada postingan kali ini adalah sebagai berikut: 
1.Dasar tentang Bluetooth
2.Serial Port Protocol Bluetooth Module HC-05
3.Bluetooth HC-05 yang menggunakan BREAKOUT BOARD
4.Menghubungkan Bluetooth HC-05 dengan Arduino
5.Cara masuk AT mode Bluetooth HC-05
6.Mengatur Parameter pada Bluetooth Slave dan Bluetooth Master
6.1 Set Auto Pairing Cara I
6.2 Set Auto Pairing Cara II












1. Dasar Tentang Bluetooth

Sebelumnya mari kita memahami sedikit tentang apa itu Bluetooth. Bluetooth adalah sebuah standar teknologi nirkabel / tanpa kabel untuk pertukaran data antar perangkat dalam jarak dekat sehinga membangun jaringan kawasan pribadi (personal area networks atau PAN). Ditemukan oleh vendor telekomunikasi Ericsson pada tahun 1994, yang digunakan sebagai alternatif komunikasi serial RS-232 secara nirkabel. Kemudian pada perkembangan selanjutnya pembentukan Bluetooth dipromotori oleh gabungan 5 perusahaan besar yakni Ericsson, IBM, Intel, Nokia dan Toshiba yang membentuk sebuah Special Interest Group (SIG) dan meluncurkan proyek ini.

Bluetooth beroperasi dalam pita frekuensi 2.4 GHz (atau antara 2400 - 2483.5 MHz (mayoritas), untuk beberapa negara mempunyai batasan frekuensi sendiri) dengan menggunakan sebuah frequency hopping tranceiver yang mampu menyediakan layanan komunikasi data dan suara secara real time antara host-host bluetooth. Teknologi adaptive frequency hopping (AFH) yang digunakan pada bluetooth didesain untuk mengurangi gangguan (interference) saat pertukaran data dilakukan antar perangkat nirkabel pada spectrum 2,4GHz. Bluetooth sangat tepat untuk desain sebuah sistem yang membutuhkan koneksi wireless dengan jarak dekat, serta membutuhkan daya serta biaya rendah. Jarak komunikasi Bluetooth bergantung atas class radio yang digunakan:

1. Class 3 radios mempunyai jarak sampai dengan 1 meter atau 3 feet
2. Class 2 radios mempunyai jarak sampai dengan 10 meter atau33 feet
3. Class 1 radios mempunyai jarak sampai dengan 100 meter atau 300 feet

Hingga saat ini Bluetooth telah digunakan dalam berbagai macam perangkat, seperti headset, laptop, mobile phone, gamecontrollers, wireless mp3 speaker, serta yang cukup menarik adalah livestock trackers (sebuah teknologi untuk memantau hewan peliharaan secara nirkabel/tanpa kabel). Berikut ini beberapa versi Bluetooth yang telah dikembangkan sampai dengan teknologi Bluetooth terbaru saat ini yakni Bluetooth v5.0. (mungkin sudah ada pengembangan versi Bluetooth terbaru ketika pembahasan ini diposting di blog)

1. Bluetooth v1.2
Bluetooth v1.2 merupakan versi yang paling stabil dari varian Bluetooth v1.x. Versi Bluetooth v1.2 mendukung kecepatan transfer data hingga 1 Mbps (lebih dari 0.7 Mbps dalam prakteknya) serta memiliki jangkauan maksimum sekitar 10 meter.

2. Bluetooth v.21+EDR
Bluetooth versi v2.1 menggunakan teknologi Enhanced Data Rate (EDR) yang meningkatkan data rate hingga 3 Mbps (sekitar 2.1 Mbps dalam prakteknya). Bluetooth v2.1, dirilis pada tahun 2007.

3. Bluetooth v3.0+HS
Bluetooth versi v.30 memiliki kecepatan data rate yang sama dengan Bluetooth versi 2 yakni 3 Mbps. Namun Bluetooth v3.0 memiliki fitur tambahan dapat terkoneksi dengan wifi sehingga memiliki data rate dengan maksimum kecepatan hingga 24 Mbps. Dipasaran terdapat Bluetooth dengan label “Bluetooth v3.0+HS” dan yang hanya berlabel “Bluetooth v3.0”, perbedaanya adalah Bluetooth dengan label +HS memiliki fitur untuk terhubung dengan wifi.

4. Bluetooth v4.0 dan Bluetooth Low Energy
Bluetooth v4.0 di bagi menjadi 3 model, yakni model klasik, kecepatan tinggi, dan daya rendah. Model klasik dan mode kecepatan tinggi menggunakan teknologi Bluetooth versi v2.x dan Bluetooth versi v3.x + HS. Sedangkan Bluetooth Low Energy (BLE) merupakan sebuah perombakan secara besar-besaran pada teknologi Bluetooth yang memang dikhususkan untuk pengaplikasian Bluetooth pada suatu sistem dengan daya rendah dan tidak memerlukan kecepatan transfer data yang tinggi, atau pada transmisi data konstan. Sebagai akibatnya Bluetooth ini memiliki rentang jarak koneksi hanya sekitar 50m serta data rate yang hanya 0.27 Mbps untuk penghematan konsumsi daya.

5. Bluetooth v5.0
Bluetooth v5.0 (rilis 06 December 2016) merupakan pengembangan Bluetooth yang difokuskan untuk teknologi Internet Of Think (IOT). Bluetooth versi ini mendukung jarak transmisi hingga 240 meter atau 4x lebih besar dari sebelumnya, serta kecepatan transmisi data 50 Mbps atau  2x lebih cepat dari versi sebelumnya dan memiliki  kapasitas broadcasting message 8x lebih besar serta dilengkapi dengan kemampuan untuk membuat koneksi terhadap wifi.
Gambar 1 Lambang Bluetooth

Bluetooth network umumnya disebut sebagai Piconet. Pada mode ini, sebuah Bluetooth master dapat terhubung dengan 7 buah Bluetooth slave yang berbeda yang berada didekatnya. Sebaliknya Bluetooth slave dalam piconet hanya dapat terhubung dengan sebuah Bluetooth master. Dalam piconet Bluetooth master berfungsi untuk mengatur seluruh komunikasi. Bluetooth master dapat mengirim, menerima atau mengirimi permintaan ke semua Bluetooth slave dalam piconet. Sedangkan Bluetooth slave hanya dapat mengirimkan atau menerima data sesuai permintaan dari Bluetooth master. Bluetooth slave tidak dapat saling terhubung satu sama lain. Meskipun begitu Bluetooth master menjalin komunikasi dengan Bluetooth slave adalah secara point to point sehingga komunikasi yang dibangun dengan Bluetooth slave adalah saling bergantian.

Piconet dapat digunakan untuk berinterkasi dengan Piconet lainnya untuk membentuk jaringan yang lebih besar yang disebut dengan Scatternet. Scatternet dibentuk dengan menggunakan Bluetooth master dari sebuah piconet yang bertindak sebagai slave terhadap piconet yang lain

Gambar 2 Contoh Bluetooth Sebagai Master/Slave dalam Topologi Piconet



2. Serial Port Protocol Modul Bluetooth HC-05


Serial Port Protocol (SPP) Modul Bluetooth HC-05 digunakan untuk mengkonversi port serial yang berinterface dengan menggunakan kabel menjadi komunikasi serial dengan teknologi wireless atau tanpa kabel. Bluetooth HC-05 menggunakan BlueCore 4-External chip yang merupakan sebuah single chip radio and baseband IC untuk Bluetooth 2.4GHz yang mengadopsi sistem enhanced data rates (EDR) yang memiliki kecepatan transfer data hingga 3 Mbps.

Selain HC-05, juga terdapat beberapa tipe Serial Port Protocol (SPP) Bluetooth Module yang lain yakni HC-03, HC-04 dan HC-06. Bluetooth serial module dengan tipe bernomor genap (HC-04 dan HC-06) adalah jenis yang mode operasinya tidak bisa diubah dari setelan pabrik. Jika sudah dari pabrikan dalam mode master, maka tidak bisa diubah menjadi mode slave. Hal ini berbeda dengan bluetooth serial module dengan tipe bernomor ganjil (HC-03 dan HC-05) yang memiliki mode khusus untuk pengaturan parameter bluetooh, sehingga bluetooh bisa diubah menjadi mode slave atau master. Untuk pembelian bluetooh HC-04 dan HC-06 perhatikan kode huruf yang tertera pada keterangan saat pembelian, bentuk kode tersebut biasanya adalah sebagai berikut.

HC-04-M, M=master Device
HC-04-S, S=slave Device

HC-06-M, M=master Device
HC-06-S, S=slave Device

Admin sendiri lebih menyarankan untuk menggunakan Bluetooh HC-03 atau HC-05, karena sifatnya yang flexibel. Berikut ini arsitektur sistem serta spesifikasi dari Bluetooth HC-05.


Gambar 3 Arsitektur Sistem Bluetooth HC-05

Feature Of Bluetooth HC-05:
-       Bluetooth V.20+EDR
-       Operating Frequency Baud: 2.4GHz-2.48GHz unlicensed ISM Band
-       Bluetooth Class 2 output power
-       Full speed Bluetooth operation with full piconet support
-       Scatternet support
-       RoHS compliant
-       Audio Interface: PCM and Analog interface
-       Support for 8-Mbit external onboard flash Memory
-       PIO (Programmable Input/Output ) control
-       Support Serial Port Pofile
-       Minimum External Components
-       Typical -80dBm sensitivity
-       Up to +4dBm RF transmit power
-       On board antenna
-       3.3v Operating voltage
-       Operation temperature: -20 ~ +55
-       Small Size 26.9mm(L) x 13mm(W) x 2.2mm(H)

Bluetooh HC-05 memilliki dua mode kerja yakni communication mode dan at mode. Communication mode adalah kondisi ketika bluetooth HC-05 siap untuk berkomunikasi dengan perangkat bluetooth yang lain baik sebagai master ataupun slave. Bluetooth sebagai master adalah kondisi dimana bluetooth tersebut difungsikan sebagai pengontrol komunikasi, atau ia bertugas mencari perangkat bluetooth yang berada disekitarnya dan mengirim permintaan komunikasi kepada perangkat bluetooh yang ditemukan. Sedangkan slave adalah kondisi dimana perangkat bluetooth mengunggu datangnya permintaan untuk melakukan komunikasi.

Berdasarkan mode komunikasinya (communication mode) bluetooth hc-05 memiliki dua mode kerja, yakni order-response work mode dan automatic connection work mode. Untuk order-response work mode maksudnya adalah komunikasi yang dijalin antar bluetooth dilakukan secara manual. Bisa dikatakan untuk mengkoneksikan dua buah Bluetooth menggunakan bantuan operator atau manusia. Sedangkan untuk automatic connection work mode, komunikasi yang dijalin antar bluetooth dilakukan secara otomatis ketika kedua bluetooh dalam kondisi aktif. Pada saat kedua bluetooth diberikan power maka bluetooh Master secara otomatis mencari bluetooth Slave yang memiliki alamat tertentu dan kemudian mengirimi permintaan komunikasi. Bluetooth Slave akan merespon permintaan komunikasi tersebut jika syarat yang diperlukan terpenuhi.

At mode adalah Bluetooth masuk ke dalam mode khusus untuk pengaturan parameter, dimana parameter-parameter yang diatur tersebut berguna untuk menentukan cara bluetooth beroperasi, seperti bluetooth sebagai Master atau Slave, kecepatan komunikasi bluetooth, mengatur nama bluetooth dan lain sebagainya.







3. Bluetooth HC-05 Dengan BREAKOUT BOARD

Perlu diketahui terdapat 2 macam bluetooth HC-05 yang dijual dipasaran, yakni bluetooth HC-05 tanpa menggunakan shield tambahan serta yang menggunakan shield tambahan. Shield tambahan ini dikenal juga dengan Breakout Board. Hal ini penting karena akan berbeda penanganannya secara hardware untuk masing-masing jenis. Gambar berikut ini merupakan Bluetooth HC-05 yang tidak menggunakan Breakout Board.


Gambar 4 Bluetooth HC-05 Tanpa Shield Tambahan

Bluetooth HC-05 yang tidak menggunakan shield tambahan beroperasi dengan tegangan 3.3V. Umumnya perangkat elektronika saat ini beroperasi pada tegangan 5v, karenanya perlu membuat rangkain konversi tegangan 5v ke 3.3v jika ingin dihubungkan ke perangkat luar, misal ke AVR Atmega atau arduino.

Sedangkan untuk Bluetooth HC-05 yang menggunakan shield tambahan (Breakout Board) telah dilengkapi dengan rangkain pengkonversi tegangan baik tegangan power maupun rangkaian konversi tegangan untuk jalur komunikasi serial. Umumnya Bluetooth HC-05 dengan Breakout Board mendukung komunikasi serial UART, bahkan admin sampai saat ini belum pernah menemui Breakout Board yang support untuk komunikasi serial SPI, dan I2C padahal secara datasheet bisa dilakukan. Para produsen lebih memilih untuk support terhadap komunikasi serial UART mungkin karena komunikasi serial UART cukup banyak digunakan pada berbagai perangkat. Serial UART sendiri lebih mudah untuk ditangani baik secara hardware maupun pemrogramannya. Berikut skematik rangkain Bluetooth HC-05 dengan shield tambahan atau Breakout Board.


Gambar 5 Bluetooth HC-05 Dengan BreakOut Board

Pada skematik rangkain diatas, shield tambahan bahkan termasuk ic MAX 232 yang berarti Bluetooth akan support untuk komunikasi serial RS-232. Sedikit pengetahuan, komunikasi serial RS-232 memiliki level tegangan yang berbeda dengan komunikasi serial UART. Jika pada UART logika high berupa tegangan +5v dan logika low berupa tegangan 0v, maka pada RS-232 logika high adalah rentang antara +3v sampai +25v sedangakn logika low berada pada rentang -3v sampai -25v. Namun yang admin ketahui, dipasaran umumnya Breakoutboard hanya support untuk komunikasi serial UART.



4. Menghubungkan Bluetooth HC-05 Dengan Arduino

Sebelum menghubungkan Bluetooth HC-05 dengan Arduino ada baiknya kita mengetahui apa saja pin yang ada pada Bluetooth HC-05. Perhatikan keterangan dan nama pin dari Bluetooth HC-05 pada gambar berikut ini.

Gambar 6 Pin Konfigurasu Bluetooth HC-05


Pin-Pin yang umum digunakan:

PIO8 (PIN31), dihubungkan ke LED (D2), digunakan sebagai indikator dari mode operasi Bluetooth HC-05. Jika LED berkedip setiap 1s berarti Bluetooth sedang berada pada AT mode2 (Atmode 1 dan Atmode 2 akan dijelaskan pada pembahasan dibawah). Jika LED berkedip cepat 0.5s berarti Bluetooth berada pada ATmode 1 atau Bluetooth belum pairing atau pairing telah berakhir dan Bluetooth siap untuk pairing kembali. Jika LED berkedip 2 kali dalam 1s, menunjukkan Bluetooth HC-05 berada pada kondisi pairing.

Untuk beberapa jenis Bluetooth HC-05, PIO8 dan PIO9 dihubungkan ke LED merah dan LED biru. Ketika dalam kondisi pair, kedua LED berkedip 1 kali tiap 2s, ketika disconnected, hanya LED biru yang berkedip sebanyak 2 kali tiap 1s. LED merah dan LED biru tersebut untuk beberapa vendor tidak dihubungkan ke PIO8 dan PIO9 melainkan dihubungkan ke PIO10 dan PIO11.

PIN32, sebagai indikator status pairing, sebelum pairing pin memiliki logika low, setelah pairing pin 32 memiliki logika high. Kondisi ini dapat diubah menjadi sebaliknya melalui pengaturan pada At mode.

UART-TX, TTL/CMOS level, UART Data output

Pin Bluetooth untuk mengirimkan data serial, dihubungkan dengan pin RX mikrokontroller.

UART-RX, TTL/COMS level, UART Data input

Pin Bluetooth untuk menerima data serial, dihubungkan dengan pin TX mikrokontroller.

Pin RX dari modul Bluetooth tidak memiliki pull-up resistor. Jika pin TX mikrokontroller tidak memiliki fungsi pull-up, user harus menambahkan sendiri sebuah pull-up resistor ke Pin RX Bluetooth HC-05.


RESET, Pin reset modul, dengan memberikan logika low pada pin ini, maka modul Bluetooth akan reset. Dapat dibiarkan mengambang jika modul dalam kondisi digunakan. Dibiarkan mengambang dan memberikan logika low adalah berbeda. Memberikan logika low berarti menghubungkan pin dengan gnd sumber, sedangkan mengambang berarti tidak menghubungkan pin tersebut ke manapun.



4. A  Interface Arduino dengan Bluetooth HC-05 yang Menggunakan BREAKOUT BOARD


Pada pembahasan ini admin memfokuskan pada tata cara interface Bluetooth HC-05 yang menggunakan Breakout Board dengan Arduino. Sedangkan untuk Bluetooth HC-05 yang tidak menggunakan shield tambahan, untuk interface dengan perangkat yang beroperasi pada level tegangan 5v (seperti arduino) dapat meniru cara interface berdasarkan skematik rangkaian pada gambar no 5, dengan mengabaikan skematik rangkaian untuk interface terhadap komunikasi serial RS-232. Bluetooth HC-05 dengan Breakout Board biasanya dibuat dalam bentuk 6 pin untuk mempermudah user dalam menggunakannya. Perhatikan gambar Bluetooth HC-05 dengan Breakout Board dari berbagai pabrikan berikut ini.


Gambar 7 Tampak Atas Bluetooth HC-05 (Salah Satu Produsen) 


Gambar 8 Tampak Bawah Bluetooth HC-05 (Salah Satu Produsen)


Gambar 9 Tampak Bawah Bluetooth HC-05 (Salah Satu Produsen)


Gambar 10 Tampak Bawah Bluetooth HC-05 (Salah Satu Produsen)


Gambar 11 Tampak Bawah Bluetooth HC-05 (Salah Satu Produsen)



Pin deskripsi:
STATE
Menandakan status komunikasi Bluetooth HC-05. Jika Bluetooth pada kondisi pair/terhubung maka pin state memiliki logika HIGH, sebaliknya jika tidak terhubung dengan Bluetooth lain pin state memiliki logika LOW. Kondisi logika pin dapat diubah sebaliknya melalui at mode.

RX
Pin Receiver, pin interface Bluetooth untuk menerima data UART dari perangkat luar

TX
Pin Transmitter, pin interface untuk mengirimkan data UART oleh Bluetooth ke perangkat luar

GND
GND sumber tegangan

VCC
Supply tegangan untuk menghidupkan Bluetooth HC-05, 3.6v – 6v

KEY / WAKEUP
Untuk mengubah mode operasi Bluetooth (mode komunikasi atau at mode)

Untuk Bluetooth HC-05 dengan Breakout Board jika salah satu pin diberi label EN, hal ini berbeda fungsinya dengan pin KEY / WAKEUP. Biasanya jika terdapat pin dengan label EN maka pada Breakout Board akan disertai dengan sebuah push button pada bagian atas modul. Berikut penjelasannya.

ENABLE
Berfungsi sebagai disable modul Bluetooth, jika diberi logika low saat dalam kondisi pairing maka sambungan akan terputus. Pin enable dapat dibiarkan mengambang jika Bluetooth ingin digunakan.

Push button
Berfungsi untuk mengubah mode operasi Bluetooth, Bluetooth bekerja dalam mode komunikasi atau at mode.


Seperti yang sudah dijelaskan pada pembahasan 3, Bluetooth HC-05 dengan Breakout Board sudah dilengkapi dengan rangkaian pengkonversi tegangan baik untuk tegangan power maupun jalur komunikasi serial, sehingga sangat mudah untuk menghubungkannya dengan arduino. Skema untuk menghubungkan Arduino dengan Bluetooth HC-05 (dengan Breakout Board) adalah sebagai berikut.

HC-05   ----------->  Arduino
Vcc       ----------->   5V
GND     ----------->   GND
TX        ----------->   RX
RX        ----------->   TX

Pada pembahasan ini admin menggunakan arduino UNO sebagai controller yang terhubung dengan Bluetooth HC-05. Berikut ini cara interface antara Bluetooth HC-05 dengan Arduino UNO yang admin gunakan.

Gambar 12 Interface Bluetooth HC-05 dengan Arduino Agar Masuk AT mode 

Pada Gambar 11, pin TX dan pin RX Bluetooth HC-05 dihubungkan dengan pin 10 dan pin 11 arduino UNO. Pada dasarnya pin 10 dan pin 11 arduino UNO bukan merupakan pin dengan fungsi khusus sebagai komunikasi serial UART, namun hanyalah pin dengan fungsi I/O biasa. Namun dengan menggunakan program software serial, maka kedua pin tersebut dimanipulasi sehingga dapat berperan sebagai komunikasi serial UART. Teknik ini biasa dikenal dengan istilah bit banged. Insyallah kedepan admin akan membahas cara membuat sendiri program software serial ini. Selain seperti pada Gambar 12 interface Bluetooth HC-05 juga dapat dihubungkan ke pin 0 dan pin 1 pada board arduino UNO. Pin 0 dan pin 1 tersebut terhubung dengan pin pada Atmega 328 yang memiliki fungsi khusus sebagai komunikasi serial USART. Kedua pin tersebut juga terhubung secara langsung dengan chip usb to serial converter yang menjembatani komunikasi antara komputer dengan board Arduino UNO. Interface Bluetooth HC-05 dengan arduino uno dengan cara yang kedua ini memang bisa dilakukan, namun tidak admin sarankan. Dalam beberapa kasus komunikasi UART tidak bisa dijalankan dengan baik mengingat jalur komunikasi serial yang timpang tindih (silahkan lihat skematik rangkaian Arduino UNO).

Untuk mengaktifkan pin 10 dan pin 11 sebagai komunikasi serial UART maka upload program software serial ke board arduino uno dengan cara berikut. Buka software arduino IDE, kemudian klik File > Examples > SoftwareSerial > SoftwareSerialExample atau perhatikan gambar berikut.

Gambar 13 Membuka Program Software Serial


Setelah program SoftwareSerialExample terbuka silahkan ubah baris program mySerial.begin (4800) menjadi mySerial.begin (38400), atau silahkan lihat program yang Admin tampilkan dibawah ini. Tujuan dari baris program ini adalah agar Arduino dapat berkomunikasi dengan Bluetooth HC-05, yang jika dalam kondisi At mode, ia beroperasi dengan baudrate 38400 bps (Bluetooth masuk ke At mode dengan cara 2, akan dibahas pada pembahasan selanjutnya). Selanjutnya upload program tersebut ke Arduino UNO.


/*
  Software serial multple serial test

 Receives from the hardware serial, sends to software serial.
 Receives from software serial, sends to hardware serial.

 The circuit:
 * RX is digital pin 10 (connect to TX of other device)
 * TX is digital pin 11 (connect to RX of other device)

 Note:
 Not all pins on the Mega and Mega 2560 support change interrupts,
 so only the following can be used for RX:
 10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69

 Not all pins on the Leonardo support change interrupts,
 so only the following can be used for RX:
 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).

 created back in the mists of time
 modified 25 May 2012
 by Tom Igoe
 based on Mikal Hart's example

 This example code is in the public domain.

 */
#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup()
{
  // Open serial communications and wait for port to open:
  Serial.begin(57600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(38400);
  mySerial.println("Hello, world?");
}

void loop() // run over and over
{
  if (mySerial.available())
    Serial.write(mySerial.read());
  if (Serial.available())
    mySerial.write(Serial.read());
}


5. Cara Masuk AT Mode Bluetooth HC-05

Umumnya terdapat 2 macam tata cara agar bluetooth HC-05 bisa masuk ke dalam AT mode, yakni:


1) At mode dengan Baudrate 9600
  • Matikan supply tegangan ke modul Bluetooth HC-05
  • Berikan input low level ke pin 34 (pin KEY / WAKEUP) bluetooth HC-05
  • Berikan supply tegangan ke modul Bluetooth HC-05
  • Berikan input high level ke pin 34 (pin KEY / WAKEUP) bluetooth HC-05(jumper pin VCC dengan pin 34)

Maka modul bluetooth HC-05 akan masuk ke AT mode dengan baud rate 9600bps.



2) At mode dengan baud rate 38400
  • Matikan supply tegangan ke modul Bluetooth HC-05
  • Jumper pin VCC dengan pin 34 (pin KEY / WAKEUP) pada Bluetooth HC-05
  • Berikan supply tegangan ke modul Bluetooth HC-05

Maka modul Bluetooth HC-05 akan masuk ke AT mode dengan Baud rate 38400bps, Cara yang kedua ini lebih Admin sarankan untuk digunakan. Pada tutorial ini Admin menggunkaan cara yang kedua ini. Lalu maksud dari baud rate 38400 adalah pin RX dan TX pada Bluetooth yang dihubungkan dengan pin TX dan RX ke perangkat luar misal Arduino, melakukan pengiriman dan penerimaan data dengan kecepatan 38400bps.

Untuk jenis modul Bluetooth HC-05 yang dilengkapi dengan tombol reset memiliki tata cara yang sedikit berbeda untuk bisa masuk ke dalam at mode. Perhatikan modul Bluetooth HC-05 berikut ini.


Gambar 14 Bluetooth HC-05 Dengan Tombol Reset


Cara masuk At mode untuk Bluetooth HC-05 jenis ini adalah sebagai berikut.
  • Matikan supply ke Bluetooth HC-05
  • Jumper pin enable ke VCC Bluetooth
  • Tekan button switch
  • Berikan supply ke Bluetooth HC-05
  • Tunggu beberapa saat hingga nyala LED Bluetooth memiliki interval yang berbeda dengan kondisi biasanya, kemudian lepaskan button switch.

Dengan cara diatas maka Bluetooth HC-05 masuk ke dalam At mode dengan baud rate 38400bps.


Dalam At mode, perintah / At command yang dikirim ke modul bluetooth HC-05 harus dalam huruf besar dan diakhiri dengan sepasang karakter CR dan LF. Karakter CR dan LF adalah berupa perintah enter atau baris baru. Karakter CR dan LF sendiri adalah berupa karakter /r /n atau 0x0D dan 0x0A dalam heksadesimal. 





6. Mengatur Parameter Pada Bluetooth Slave dan Bluetooth Master


6.1 Set Auto Pairing Cara I

Setelah berhasil masuk ke At mode Bluetooth HC-05 maka langkah selanjutnya adalah mengirim command / perintah untuk mengubah parameter yang dibutuhkan agar kondisi auto pairing Bluetooth HC-05 bisa dilakukan. Pertama – tama silahkan buka serial monitor yang ada pada Arduino IDE dengan cara berikut. Buka software arduino IDE lalu klik tab Tools > Serial Monitor atau dengan menekan short key Ctrl+Shift+M. Langkah selanjutnya setelah serial monitor terbuka perhatikan pada bagian bawah serial monitor dan lakukan pengaturan seperti gambar dibawah ini.



Gambar 15 Pengaturan END LINE Pada Serial Monitor


Nilai 57600 baud harus sama dengan yang ada pada baris program Serial.begin( ). Maksudnya adalah serial monitor tersebut berkomunikasi dengan board Arduino dengan kecepatan 57600 bps. Nilai ini boleh saja diubah dengan baud rate yang lain, tidak ada penentuan nilai khusus, yang penting harus sama antara keduanya (serial monitor dan board Arduino). Lalu maksud Both NL & CR adalah pada setiap At command yang dikirm akan diikuti oleh karakter /r /n. Hal ini dibutuhkan karena sesuai dengan standart pengiriman At command pada bluetooth HC-05. NL (New Line) karakter ini berfungsi untuk berpindah 1 baris ke bagian bawah dengan posisi kolom yang sama dengan yang sebelumnya. CR (Carriage Return) karakter ini fungsinya untuk mengembalikan posisi cursor ke kolom 1 pada baris yang sama. Dengan menggunakan keduanya maka cursor akan berpindah 1 baris ke bagian bawah dan posisi cursor kembali ke posisi kolom 1 atau didapatkanlah baris baru.

Sebagai langkah awal ketik AT pada serial monitor kemudian tekan ENTER atau klik Send. Jika Bluetooth merespon maka akan muncul tulisan OK pada serial monitor. Selanjutnya silahkan kirim AT Command dibawah ini satu demi satu, dan pastikan bluetooth merespon dengan mengirim tulisan OK pada serial monitor. Berikut ini merupakan pengaturan parameter yang dilakukan untuk Bluetooth Slave.

AT Command

Keterangan

AT+ORGL
Mengembalikan semua pengaturan parameter bluetooh ke pengaturan pabrik, tanpa terkecuali (opsional, boleh dilakukan boleh juga tidak)

AT+NAME=Slave
Memberikan nama bluetooh. Bebas tidak ada ketentuan khusus. Pilih saja nama yang mudah untuk dikenali.

AT+PSWD=0000
Memberikan kode keamanan untuk Bluetooth. Default-nya adalah 1234. Ingat baik-baik password ini, karena password Master harus sama dengan password Slave.

AT+ROLE=0
Bluetooth di atur sebagai Slave.

AT+CMODE=0
Koneksi Bluetooth Slave diatur agar terhubung dengan alamat tertentu. (Boleh 0 atau 1, hasil percobaan Admin tidak berpengaruh, settingan ini hanya berpengaruh pada Bluetooth Master).

AT+UART=9600,0,0
Mengatur baud rate, stop bits, dan parity bits. Pengaturan disamping adalah baud rate 9600 bps, 1 stop bits, dan tidak ada bit parity. (Opsional, sesuai keinginan pengguna).

AT+ADDR
Menampilkan ADDRESS dari Bluetooth. Catat address yang tampil pada serial monitor, address ini digunakan saat pengaturan parameter pada Bluetooth Master. Contoh Address Bluetooth Slave milik Admin 98d3:31:4009d3


Setelah berhasil melakukan pengaturan parameter pada Bluetooth Slave diatas maka tahap selanjutnya adalah melakukan pengaturan parameter pada Bluetooth Master. Lakukan langkah 4 (menghubungkan Bluetooh HC-05 dengan Arduino) dan langkah 5 (Cara masuk At mode) untuk bluetooth Master. Kemudian lakukan pengaturan parameter dibawah ini agar teknik auto pairing dapat dilakukan. 

AT Command

Keterangan

AT+ORGL
Mengembalikan semua pengaturan parameter bluetooh ke setelan pabrik, tanpa terkecuali (opsional, boleh dilakukan boleh juga tidak)

AT+NAME=Master
Memberikan nama bluetooh. Bebas tidak ada ketentuan khusus. Pilih saja nama yang mudah untuk dikenali.

AT+PSWD=0000
Memberikan kode keamanan untuk Bluetooth. Default-nya adalah 1234. Password pada Bluetooth Master harus sama dengan password pada Bluetooth Slave.

AT+ROLE=1
Bluetooth diatur dengan mode kerja sebagai Master.

AT+CMODE=0
Koneksi Bluetooth Master diatur agar terhubung dengan alamat tertentu.

AT+UART=9600,0,0
Mengatur baud rate, stop bits, dan parity bits. Pengaturan disamping adalah baud rate 9600 bps, 1 stop bits, dan tidak ada bit parity. Sesuaikan dengan Bluetooth Slave, jika berbeda, kedua Bluetooth (Master - Slave) dapat pairing tetapi tidak bisa saling bertukar data.

AT+BIND=<ADDR Slave>
Membuat ikatan dengan Bluetooth yang memiliki alamat tertentu. Dalam hal ini nilai parameter yang diisi adalah address Bluetooth Slave.  Sebagai contoh pada Bluetooth Master Admin, parameter yang dikirim adalah sebagai berikut :
AT+BIND=98d3,31,4009d3
Perhatikan titik dua pada addres diubah menjadi tanda koma (,)


Jika semua pengaturan telah berhasil dilakukan maka seharusnya auto pairing Bluetooth Master dengan Bluetooth Slave telah bisa dilakukan. Langkah selanjutnya matikan power kedua Bluetooth, kemudian lepas kabel jumper yang dihubungkan ke pin KEY/ WAKEUP/ EN agar Bluetooth tidak masuk ke At mode. Kemudian berikan power ke masing-masing Bluetooth, setelah beberapa saat hidup, kedua Bluetooth akan pairing secara otomatis. Perhatikan nyala led dari kedua Bluetooth yang menandakan Bluetooth telah berada dalam kondisi pairing. Sebagai catatatan tambahan, waktu kedipan led yang berbeda antara Bluetooth master dengan Bluetooth Slave tidak menyatakan kedua Bluetooth tidak sinkron, karena kedipan led tersebuat tidak ada hubungannya dengan sinkronisasi antara Bluetooth Master dengan Bluetooth Slave, led tersebut hanyalah sebagai indikator mode operasi dari Bluetooth, apakah sedang berada pada kondisi At mode, atau sedang pairing, atau tidak sedang pairing. Berikut ini video tutorial yang admin buat yakni cara mengatur parameter pada Bluetooth Slave dan Bluetooth Master agar Auto pairing bisa dilakukan. 







6.1 Set Auto Pairing Cara II

Selain dengan cara diatas terdapat cara lain agar auto pairing antar Bluetooth HC-05 dapat dilakukan yakni dengan cara Bluetooth HC-05 Master melakukan scanning Bluetooth yang berada disekitarnya dan menampilkan address dari Bluetooth tersebut. Perbedaannya dengan cara yang pertama adalah tidak perlu melakukan pengecekan addres dari Bluetooth Slave secara manual.

Bluetooth HC-05 akan diaktifkan untuk melakukan scanning Bluetooth yang berada disekitarnya, karena itu usahakan tidak ada Bluetooth lain yang hidup yang berada disekitar Bluetooth HC-05, karena hasil scanning Bluetooth HC-05 hanya menampilkan address, device type, dan RSSI Sinyal intensity dari Bluetooth yang terdeteksi sehingga sulit untuk mengenali addres milik Bluetooth yang satu dengan yang lainnya. Selanjutnya silahkan lakukan langkah menghubungkan Bluetooth HC-05 dengan Arduino dan lakukan langkah agar Bluetooth HC-05 masuk ke At mode. Kemudian lakukan pengaturan parameter berikut ini.

AT Command

Keterangan

AT+ORGL
Mengembalikan semua pengaturan parameter bluetooh ke setelan pabrik, tanpa terkecuali (opsional, boleh dilakukan boleh juga tidak)

AT+NAME=Master
Memberikan nama bluetooh. Bebas tidak ada ketentuan khusus. Pilih saja nama yang mudah untuk dikenali.

AT+PSWD=0000
Memberikan kode keamanan untuk Bluetooth. Default-nya adalah 1234. Password pada Bluetooth Master harus sama dengan password pada Bluetooth Slave.

AT+ROLE=1
Bluetooth diatur dengan mode kerja sebagai Master.

AT+CMODE=0
Koneksi Bluetooth Master diatur agar terhubung dengan alamat tertentu.

AT+UART=9600,0,0
Mengatur baud rate, stop bits, dan parity bits. Pengaturan disamping adalah baud rate 9600 bps, 1 stop bits, dan tidak ada bit parity. Sesuaikan dengan Bluetooth Slave, jika berbeda, kedua Bluetooth (Master - Slave) dapat pairing tetapi tidak bisa saling bertukar data.

AT+INIT
Itialize the SPP profile lib (can’t repeat initialization)

AT+INQ
Meminta keterangan Address Bluetooth, Device type, RSSI Signal Intensity dari Bluetooth yang terdeteksi.
Contoh hasil scanning Bluetooth HC-05 Slave milik Admin yang terdeteksi sebagai berikut :

+INQ:21:13:6867,0,7FFF


AT+BIND=<ADDR Slave>
Membuat ikatan dengan Bluetooth yang memiliki alamat tertentu. Dalam hal ini nilai parameter yang diisi adalah address Bluetooth Slave.  Sebagai contoh pada Bluetooth Master Admin, parameter yang dikirim adalah sebagai berikut :
AT+BIND=21,13,6867
Perhatikan titik dua pada addres diubah menjadi tanda koma (,)


Langkah selanjutnya matikan power kedua Bluetooth, kemudian lepas kabel jumper yang dihubungkan ke pin KEY/ WAKEUP/ EN agar Bluetooth tidak masuk ke At mode. Kemudian berikan power ke masing-masing Bluetooth, setelah beberapa saat hidup, kedua Bluetooth akan pairing secara otomatis. Perhatikan nyala led dari kedua Bluetooth yang menandakan Bluetooth telah berada dalam kondisi pairing. Sebagai pelengkap berikut ini Admin tampilkan video tutorialnya. 




Sekian penjelasan yang bisa Admin bagikan pada pembahasan materi kali ini. Semoga sedikit ilmu ini bermanfaat untuk pembaca blog catucreativeproject. Jika terdapat kekurangan bisa memberikan masukan pada kolom komentar atau jika mempunyai pertanyaan dikarenakan penjelasan Admin yang masih kurang jelas dapat menghubungi Admin melalui kontak yang Admin tampilkan. Terima Kasih.

Wasallam. 






Ditulis dan Diterjemahkan oleh Admin blog caturcreativeproject.blogspot.com

*Luangkan sedikit waktumu untuk memberikan komentar pada postingan ini, karena komentar pembaca sangat berharga bagi Admin sebagai pembakar semangat dalam membuat tutorial selanjutnya, terima kasih 8 :)*




Tag file : 
Teknik Auto Pairing Bluetooth HC-05, Automatically connect to bluetooth hc-05, BlueTooth Link With Auto-detect & Connect, Connecting Two Bluetooth HC-05, Auto Pair Bluetooth HC-05, Cara Auto Pairing Bluetooth HC-05, Pairing Dua Bluetooth HC Secara Otomatis, How to Pair Two Bluetooth HC, 
Previous
Next Post »

4 komentar

Click here for komentar
jhoni
admin
1 Agustus 2017 02.54 ×

Min hc 05 tutorial untuk membuat speaker aktif biasa mnjadi speaker aktf Bluetooth dong
Terimakasih

Reply
avatar
3 Agustus 2017 14.59 ×

Sipp...
Nanti nanti saya buatkan, terima kasih requestnya

Reply
avatar