Interfacing Modul Bluetooth HC-05 dengan NodeMCU ESP8266 Lengkap + Wiring dan Contoh Program

NodeMCU ESP8266 terkenal karena WiFi-nya. Tapi ada satu hal yang tidak dimilikinya: Bluetooth.
Kalau kamu ingin komunikasi langsung dari smartphone tanpa internet, maka modul Bluetooth HC-05 adalah solusi paling praktis dan stabil.
Mengenal Modul Bluetooth HC-05
HC-05 adalah perangkat Bluetooth yang digunakan untuk komunikasi nirkabel dengan perangkat yang mendukung Bluetooth (seperti ponsel pintar). Perangkat ini berkomunikasi dengan mikrokontroler menggunakan komunikasi serial (USART).
Perangkat ini menambahkan protokol komunikasi nirkabel ke dalam aplikasi tertanam sehingga dapat berkomunikasi dengan perangkat Bluetooth lainnya.
Perintah AT digunakan untuk mengontrol modul Bluetooth. Kita dapat mengubah pengaturannya seperti kata sandi, nama perangkat, pengaturan komunikasi USART seperti baud rate, jumlah bit stop atau paritas, dll.

Untuk informasi lebih lanjut tentang modul Bluetooth HC-05, pinnya, dan cara menggunakannya, lihat topik Modul Bluetooth HC-05 di bagian sensor dan modul.
NodeMCU berbasis ESP8266 memiliki modul komunikasi serial UART melalui mana ia dapat berkomunikasi dengan modul Bluetooth. Untuk mengetahui lebih lanjut tentang fungsi UART berbasis Lua pada NodeMCU, lihat NodeMCU UART dengan IDE ESPlorer.
Diagram Koneksi Modul Bluetooth HC-05 dengan NodeMCU
Pada diagram koneksi, modul Bluetooth HC-05 dihubungkan ke NodeMCU ESP8266 melalui komunikasi serial (UART). Komunikasi ini memungkinkan pengiriman dan penerimaan data secara real-time antara smartphone dan NodeMCU.

Note: Nama Bluetooth default perangkat ini adalah “HC-05” dan PIN (kata sandi) default untuk koneksi adalah “0000” atau “1234”.
Mengendalikan LED menggunakan Modul Bluetooth HC-05 dengan NodeMCU
Mari mengembangkan aplikasi kecil di mana kita dapat mengontrol LED ON-OFF melalui ponsel pintar.
Hal ini dilakukan dengan menghubungkan modul Bluetooth HC-05 dengan NodeMCU. Data dari HC-05 diterima/dikirim secara serial oleh NodeMCU.
Dalam aplikasi ini, ketika angka 1 dikirim dari ponsel pintar, LED akan menyala dan jika angka 2 dikirim, LED akan mati. Jika data yang diterima adalah selain 1 atau 2, itu akan mengirimkan pesan ke ponsel untuk memilih opsi yang benar.
Kita dapat menulis kode untuk NodeMCU DevKit dalam bahasa Skrip Lua atau bahasa C/C++. Kami menggunakan IDE ESPlorer untuk menulis kode dalam skrip Lua dan IDE Arduino untuk menulis kode dalam bahasa C/C++. Untuk informasi lebih lanjut, lihat Panduan Memulai dengan NodeMCU menggunakan IDE ESPlorer (yang menggunakan skrip Lua untuk NodeMCU) dan Panduan Memulai dengan NodeMCU menggunakan IDE Arduino (yang menggunakan sketsa Arduino berbasis bahasa C untuk NodeMCU).

Lua Script For Bluetooth
LEDpin = 4
gpio.mode(LEDpin, gpio.OUTPUT)--set LED pin as output pin
gpio.write(LEDpin, gpio.LOW)-- set LED state initially low
--begin uart with specs
uart.setup(0, 9600, 8, uart.PARITY_NONE, uart.STOPBITS_1, 1)
--set callback function on receive to make decision about LED on/off
uart.on("data",1,
function(data)
if(data == "1") then
gpio.write(LEDpin, gpio.HIGH)
print("LED ON")
elseif(data == "2") then
gpio.write(LEDpin, gpio.LOW)
print("LED OFF")
else
print("select proper option")
end
end, 0)Di bawah ini adalah respons yang diterima dari NodeMCU Bluetooth saat mengirim perintah dari contoh di atas pada terminal Bluetooth di ponsel pintar.

Selain itu, kita dapat menulis kode untuk contoh di atas dari Arduino IDE. Untuk mengetahui cara memulai penggunaan NodeMCU dengan Arduino IDE, lihat Panduan Memulai dengan NodeMCU menggunakan Arduino IDE.
int LED = D4;
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600); /* Define baud rate for serial communication */
}
void loop() {
if (Serial.available()) /* If data is available on serial port */
{
char data_received;
data_received = Serial.read(); /* Data received from bluetooth */
if (data_received == '1')
{
digitalWrite(LED, HIGH);
Serial.write("LED turned ON\n");
}
else if (data_received == '2')
{
digitalWrite(LED, LOW);
Serial.write("LED turned OFF\n");
}
else
{
Serial.write("Select either 1 or 2");
}
}
}Troubleshooting Umum
- Bluetooth tidak muncul di HP
– Pastikan LED HC-05 berkedip cepat
– Pastikan supply cukup stabil - Tidak bisa pair
– Coba pin 1234 atau 0000
– Reset modul - Data tidalk terbaca
– Cek baud rate, harus sama
– Pastikan RX/TX tidak terbalik
– Cek common ground - NodeMcu sering reset
– Power Supply tidak cukup
– Hindari supply dari USB murah
Kesimpulan
Menghubungkan modul Bluetooth HC-05 dengan NodeMCU sangat mudah karena menggunakan komunikasi serial (UART). Dengan hanya empat kabel utama, kamu sudah bisa membuat sistem kontrol wireless sederhana tanpa internet.
Untuk project offline, prototyping cepat, atau sistem berbasis smartphone lokal, kombinasi ini masih sangat efektif dan stabil.
Kalau kamu ingin membuat project IoT tanpa ribet jaringan, HC-05 adalah solusi praktis dan hemat.
Referensi :
“HC-05 Bluetooth Module Interfacing with NodeMCU,” ElectronicsWings, https://www.electronicwings.com/nodemcu/hc-05-bluetooth-module-interfacing-with-nodemcu














