Tutorial Arduino mengakses module Bluetooth HC-05

Tutorial Arduino mengakses module Bluetooth HC-05

Pengertian

Module Bluetooth HC-05 adalah module komunikasi nirkabel via bluetooth yang dimana beroperasi pada frekuensi 2.4GHz dengan pilihan dua mode konektivitas.

Mode 1 berperan sebagai slave atau receiver data saja, mode 2 berperan sebagai master atau dapat bertindak sebagai transceiver.

Pengaplikasian komponen ini sangat cocok pada project elektronika dengan komunikasi nirkabel atau wireless.

Aplikasi yang dimaksud antara lain aplikasi sistem kendali, monitoring, maupun gabungan keduanya.

Antarmuka yang dipergunakan untuk mengakses module ini yaitu serial TXD, RXDVCC serta GND. Serta terdapat LED (built in) sebagai indikator koneksi bluetooth terhadap perangkat lainnya seperti sesama module, dengan smartphone android, dan sebagainya.

Module Bluetooth HC-05

Jangkauan jarak efektif module ini saat terkoneksi dalam range 10 meter, dan jika melebihi dari range tersebut maka kualitas konektivitas akan semakin kurang maksimal.

Spesifikasi dari module ini antara lain :

  • Frekuensi kerja ISM 2.4 GHz
  • Bluetooth protocol : Bluetooth tipe v2.0+EDR
  • Kecepatan dapat mencapai 1Mbps pada mode sinkron
  • Kecepatan dapat mencapai 2.1 Mbps / 160 kbps pada mode asinkron maksimum
  • Tegangan kerja pada 3,3 – 6 Volt DC
  • Konsumsi arus kerja yaitu 50 mA
  • Memiliki modulasi Gaussian Frequency Shift Keying (GFSK)
  • Sensitivitas -84dBm (0.1% BER)
  • Daya emisi 4 dBm
  • Suhu operasional range -20°C — +75°C
  • Memiliki keamanan dengan enkripsi data dan enkripsi
  • Dimensi modul 15.2×35.7×5.6 mm

Module ini dapat digunakan sebagai mode slave (Rx), maupun mode master (TX) dan memiliki 2 metode konfigurasi yaitu AT Mode dan Communication Mode.

Pada AT Mode berfungsi sebagai pengaturan konfigurasi dari HC-05, sedangkan pada Communication Mode berfungsi sebagai komunikasi nirkabel dengan perangkat atau piranti lainnya.


Tutorial mengakses module Bluetooth HC-05

Bahan yang diperlukan :

  1. Arduino Uno
  2. Module Bluetooth HC-05
  3. Breadboard
  4. Kabel Jumper
  5. Komputer + Software IDE Arduino

Tidak memerlukan library baru dikarenakan sudah ada pada software IDE Arduino yaitu <SoftwareSerial.h> .

Skema yang perlu dirangkaikan

Skema rangkaian arduino mengakses bluetooth hc 05.PNG

 

Keterangan pin :

  • Pin 0 > TXD Module bluetooth
  • Pin 1 > RXD
  • 5V > VCC
  • GND > GND
  • VCC > Key / EN

Kode program sederhana :

/* https://www.nyebarilmu.com/ */

#include <SoftwareSerial.h>
SoftwareSerial module_bluetooth(0, 1); // pin RX | TX
void setup()
{
    Serial.begin(9600); //menggunakan komunikasi serial softawre IDE pada 9600 bps
    Serial.println("Input command AT:");
    module_bluetooth.begin(38400); //Baudrateb module bluetooth
}
void loop() {
    //Membaca terhubungnya koneksi HC05 dengan arduino pada serial Monitor
    if (module_bluetooth.available())
    Serial.write(module_bluetooth.read());
    //Membaca data dari Arduino Serial monitor yang akan dikirim ke HC05
    if (Serial.available())
    module_bluetooth.write(Serial.read());
}

Contoh beberapa Command bluetooth yang dapat digunakan di serial monitor antara lain :

  1. AT : untuk mengetest konektivitas antara module, arduino, dan ditampilkan di serial monitor
  2. AT+RESET : untuk mereset data yang terdapat pada module
  3. AT+VERSION? : untuk mengetahui akan versi firmware yang terdapat pada module
  4. AT+ORGL : mengembalikan semua data seperti semula
  5. AT+ADDR : untuk mengetahui akan bluetooth module address
  6. AT+NAME=”Nyebarilmu.com” : yang berarti module akan diberikan nama “nyebarilmu.com”
  7. AT+NAME? : mengetahui nama device module
  8. AT+ROLE? : untuk mengetahui akan parameter device tentang status dijadikan mode slave atau master.
  9. AT+ROLE=0 : menandakan module dijadikan mode slave role (mode yang hanya menerima data saja), apabila diisikan “1” module dijadikan mode master role (sebagai transmisi data / pengendali), sedangkan “2” maka akan dijadikan mode slave loop role (mode yang hanya menerima data saja dan mengirimkan data juga ke master)

[irp]


Tutorial mengakses Module Bluetooth HC-05 dan LED via SmartPhone Android

Bahan yang diperlukan :

  1. Arduino Uno
  2. Module Bluetooth HC-05
  3. Kabel Jumper
  4. Komputer + Software IDE Arduino
  5. Hp Smart Phone Android

Skema yang perlu dirangkaikan

Skema rangkaian arduino mengakses bluetooth hc 05 dan LED

Kode Program

/* https://www.nyebarilmu.com/ */

#include <SoftwareSerial.h>
SoftwareSerial module_bluetooth(0, 1); // pin RX | TX

char data = 0;
void setup()
{
  Serial.begin(9600);
  pinMode(13, OUTPUT);  //inisialisasi LED menjadi output
}
void loop()
{
  if(Serial.available() > 0)
  {
    data = Serial.read();Serial.print(data);    //Pembacaan dan ditampilkan data yang masuk
    Serial.print("\n");
    //Data yang masuk
    if(data == '1'){
    digitalWrite(13, HIGH);//diberikan waktu tunda 1 detik
    }
    else if(data == '0')
    digitalWrite(13, LOW);
  }

}

Bagaimana cara menggunakan aplikasi ini di smartphone Android?

  • Download Aplikasi dari play store dengan gratis : link apps
  • Pair perangkat Anda dengan modul bluetooth HC 05/06
    1) Hidupkan modul bluetooth HC 05/06 dan Arduino yang sudah di downloadkan program diatas
    2) Pindai perangkat yang tersedia
    3) Pair dengan HC 05/06 dengan memasukkan kata sandi default 1234 atau 0000
  • Instal aplikasi LED pada perangkat android Anda
  • Buka Aplikasi

Tampilan pada Smart Phone

tampilan dari aplikasi blue-droid

Selamat mencoba!

Terimakasih sudah berkunjung, dan semoga bermanfaat. Salam nyebarilmu.com!

23 Comments

  1. salis

    maaf, sepertinya jumper pin arduino Rx dan Tx ke modul bluetooth nya terbalik, di sana, tertulis pin 0 arduino (yaitu Rx) ke Rx bluetooth module, dan pin 1 ke Tx, harusnya Rx ke Tx, dan Tx arduino ke Rx bluetooth

      • gerry geofani

        gan ada yang mau ane tanyain ni masalah at command soalnya di ane ga bisa, ada sosmednya fb ato apa gtu buat ane contact

          • geofani gerry

            source codenya ga ada masalah, yg jdi masalah skarang, ane nubi nih di arduino, 1 minngu yg lalu ane baru beli nih modul hc 05 cuma dari tutor yg ane baca ntar lednya kedap kedip, nah yg di ane ini led modulnya nyala pas baru di colok power aja, habis itu mati ga ada nyala sama sekali, terus modulnya ga kebaca di hp

  2. salis

    maaf, sepertinya jumper pin arduino Rx dan Tx ke modul bluetooth nya terbalik, di sana, tertulis pin 0 arduino (yaitu Rx) ke Rx bluetooth module, dan pin 1 ke Tx, harusnya Rx ke Tx, dan Tx arduino ke Rx bluetooth

  3. bla bla

    gan di mana slahnya kalau kata sandi default 1234 atau 0000,gak mau conek gi mana solusinya

  4. bla bla

    gan di mana slahnya kalau kata sandi default 1234 atau 0000,gak mau conek gi mana solusinya

  5. apa bisa ketika android jauh dari jangkauan atau tidak terkoneksi bluetooth mati sendiri dalam keadaan awal sudah menyala lednya

  6. apa bisa ketika android jauh dari jangkauan atau tidak terkoneksi bluetooth mati sendiri dalam keadaan awal sudah menyala lednya

    • belum diprogram seperti itu gan, kalo contoh yg tertera, tapi bisa dijadikan improvement untuk penerapan seperti itu

      • Oka Fatkhurrohman

        Itu nama sistem nya anti lost gan…
        Boleh di modifikasi sketch nya…
        Heeheh

  7. maubelajar

    gan, kok kodingan yang bluetooth led ane error di define ya gan? klo boleh tau kenapa ya gan, maklum pemula rada bingung

  8. maubelajar

    gan, kok kodingan yang bluetooth led ane error di define ya gan? klo boleh tau kenapa ya gan, maklum pemula rada bingung

  9. Aziz khoirudin

    Muncul Arduino: 1.8.6 (Windows 7), Board: “Arduino/Genuino Uno”

    sketch_aug30a:8:1: error: ‘define’ does not name a type

    define LED1 13

    ^

    C:\Users\Aziz\Documents\Arduino\sketch_aug30a\sketch_aug30a.ino: In function ‘void setup()’:

    sketch_aug30a:13:11: error: ‘LED1’ was not declared in this scope

    pinMode(LED1, OUTPUT); //inisialisasi LED menjadi output

    ^

    C:\Users\Aziz\Documents\Arduino\sketch_aug30a\sketch_aug30a.ino: In function ‘void loop()’:

    sketch_aug30a:19:5: error: ‘data’ was not declared in this scope

    data = Serial.read();Serial.print(data); //Pembacaan dan ditampilkan data yang masuk

    ^

    sketch_aug30a:23:18: error: ‘LED1’ was not declared in this scope

    digitalWrite(LED1, HIGH);delay(1000); //diberikan waktu tunda 1 detik

    ^

    sketch_aug30a:27:18: error: ‘LED1’ was not declared in this scope

    digitalWrite(LED1, LOW);

    ^

    exit status 1
    ‘define’ does not name a type

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    Ada solusinya kah gan ?

    • Dhiyaaul Auliyaa

      define LED1 13 –> ganti menjadi #define LED1 13

  10. Aziz khoirudin

    Muncul Arduino: 1.8.6 (Windows 7), Board: “Arduino/Genuino Uno”

    sketch_aug30a:8:1: error: ‘define’ does not name a type

    define LED1 13

    ^

    C:\Users\Aziz\Documents\Arduino\sketch_aug30a\sketch_aug30a.ino: In function ‘void setup()’:

    sketch_aug30a:13:11: error: ‘LED1’ was not declared in this scope

    pinMode(LED1, OUTPUT); //inisialisasi LED menjadi output

    ^

    C:\Users\Aziz\Documents\Arduino\sketch_aug30a\sketch_aug30a.ino: In function ‘void loop()’:

    sketch_aug30a:19:5: error: ‘data’ was not declared in this scope

    data = Serial.read();Serial.print(data); //Pembacaan dan ditampilkan data yang masuk

    ^

    sketch_aug30a:23:18: error: ‘LED1’ was not declared in this scope

    digitalWrite(LED1, HIGH);delay(1000); //diberikan waktu tunda 1 detik

    ^

    sketch_aug30a:27:18: error: ‘LED1’ was not declared in this scope

    digitalWrite(LED1, LOW);

    ^

    exit status 1
    ‘define’ does not name a type

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    Ada solusinya kah gan ?

    • Dhiyaaul Auliyaa

      define LED1 13 –> ganti menjadi #define LED1 13

Leave a Reply

Your email address will not be published. Required fields are marked *