Cara Menggunakan Bluethooth HC05

Cara Menggunakan Bluethooth HC05

Bluetooth HC-05 adalah modul komunikasi nirkabel berbasis Bluetooth versi 2.0 yang sangat populer di dunia mikrokontroler, terutama Arduino. Modul ini memungkinkan komunikasi data dua arah antara perangkat Arduino dan perangkat lain seperti:

  • HP Android
  • Komputer (dengan Bluetooth)
  • Modul Bluetooth lain

berikut ini adalah cara memprogram RTCDS3231 di esp32 dengan mudah:

untuk code bisa digunakan dibawah ini:

#include <Arduino.h>

#include <SoftwareSerial.h>

const int rxPin_bluetooth = 3;
const int txPin_bluetooth = 4;
SoftwareSerial bluetooth(rxPin_bluetooth, txPin_bluetooth); 


void kirim_bluetooth(char data) {
bluetooth.print(data);
}
 
String baca_bluetooth() {
String dataTerima = "";
while (bluetooth.available()) {
char karakter = bluetooth.read();
dataTerima += karakter;
}
return dataTerima;
}
 


void setup()
{
Serial.begin(9600);
bluetooth.begin(9600);
kirim_bluetooth("ready");

}
void loop(){
Serial.println(baca_bluetooth());


}



1. Include Library

#include <Arduino.h>
#include <SoftwareSerial.h>
  • #include <Arduino.h> – Menyertakan library dasar Arduino.
  • #include <SoftwareSerial.h> – Mengimpor library SoftwareSerial, yang memungkinkan komunikasi serial di pin digital selain pin default (0 dan 1).

🔹 2. Inisialisasi Software Serial

const int rxPin_bluetooth = 3;
const int txPin_bluetooth = 4;
SoftwareSerial bluetooth(rxPin_bluetooth, txPin_bluetooth);
  • Pin 3 digunakan sebagai RX (menerima data dari modul Bluetooth).
  • Pin 4 digunakan sebagai TX (mengirim data ke modul Bluetooth).
  • SoftwareSerial bluetooth(...) – Membuat objek bluetooth untuk komunikasi serial dengan modul Bluetooth di pin tersebut.

3. Fungsi Mengirim Data ke Bluetooth

void kirim_bluetooth(char data) {
  bluetooth.print(data);
}
  • Fungsi ini mengirim satu karakter data melalui Bluetooth.
  • Menggunakan bluetooth.print() untuk mengirim data ke perangkat Bluetooth.

⚠️ Perlu diperhatikan: fungsi ini hanya bisa mengirim satu karakter, bukan string. Tapi di setup() nanti dikirim string "ready", yang secara teknis tetap bisa berjalan karena print() bisa handle string juga meskipun parameter bertipe char di fungsi.


Fungsi Membaca Data dari Bluetooth

String baca_bluetooth() {
  String dataTerima = "";
  while (bluetooth.available()) {
    char karakter = bluetooth.read();
    dataTerima += karakter;
  }
  return dataTerima;
}
  • Membuat string kosong dataTerima.
  • Selama ada data masuk di serial Bluetooth (bluetooth.available()), data dibaca karakter demi karakter.
  • Karakter yang dibaca ditambahkan ke dataTerima.
  • Akhirnya, data lengkap yang diterima dikembalikan sebagai string.

Fungsi Setup

void setup() {
  Serial.begin(9600);
  bluetooth.begin(9600);
  kirim_bluetooth("ready");
}
  • Menginisialisasi komunikasi serial dengan PC pada baud rate 9600.
  • Menginisialisasi komunikasi dengan Bluetooth (juga 9600 baud).
  • Mengirim string "ready" ke Bluetooth untuk memberi tahu bahwa Arduino sudah siap.

Fungsi Loop

void loop() {
  Serial.println(baca_bluetooth());
}
  • Terus-menerus membaca data dari Bluetooth.
  • Mencetak data yang diterima ke monitor serial (di PC) menggunakan Serial.println().

Ringkasan Alur Program

  1. Arduino memulai komunikasi serial dengan komputer dan Bluetooth.
  2. Mengirim pesan "ready" ke Bluetooth saat startup.
  3. Di dalam loop:
    • Arduino terus-menerus mengecek apakah ada data dari Bluetooth.
    • Jika ada, data dibaca dan ditampilkan di serial monitor.


untuk diskusi bisa kontak dibawah ini :

Sosial media :