Alvoria Neura


Cara Program Bluetooth Esp8266 Nodemcu V3

Tutorial Lengkap: Program Bluetooth pada ESP8266 NodeMCU V3

ESP8266 adalah mikrokontroler yang sangat populer untuk proyek IoT, tetapi tidak memiliki dukungan Bluetooth bawaan. Oleh karena itu, kita akan menggunakan modul Bluetooth eksternal seperti HC-05 atau HC-06 untuk memungkinkan komunikasi Bluetooth dengan perangkat lain seperti smartphone atau komputer.

1. Peralatan yang Dibutuhkan

Sebelum kita mulai, pastikan Anda memiliki:

  • ESP8266 NodeMCU V3
  • Modul Bluetooth HC-05 atau HC-06
  • Kabel Jumper
  • Breadboard
  • Arduino IDE (Untuk memprogram ESP8266)

Detail Penjelasan

ESP8266 NodeMCU V3 sebenarnya tidak memiliki modul Bluetooth bawaan, berbeda dengan ESP32 yang mendukung Bluetooth Classic dan Bluetooth Low Energy (BLE). Namun, jika ingin menambahkan fitur Bluetooth ke ESP8266, kita bisa menggunakan modul HC-05 atau HC-06, yang merupakan modul Bluetooth Classic yang dapat dihubungkan ke ESP8266 melalui komunikasi Serial UART.

2. Cara Kerja Bluetooth HC-05/HC-06

Modul Bluetooth HC-05 dan HC-06 mendukung komunikasi Serial UART dengan ESP8266.

Perbedaannya adalah:


  • HC-05 dapat beroperasi dalam Mode Master dan Slave.
  • HC-06 hanya dapat beroperasi dalam Mode Slave.

Modul ini memungkinkan komunikasi tanpa kabel antara ESP8266 dan perangkat lain melalui Bluetooth Classic, yang bisa digunakan untuk:

  • Mengontrol ESP8266 dari smartphone
  • Mengirim dan menerima data sensor melalui Bluetooth
  • Menghubungkan ESP8266 dengan komputer secara nirkabel

3. Skema Koneksi ESP8266 dan HC-05

Modul HC-05 atau HC-06 menggunakan Serial UART untuk berkomunikasi dengan ESP8266.

Berikut adalah skema koneksi antara ESP8266 dan HC-05:

Tabel Koneksi HC-05 ke ESP8266

HC-05 Pin Koneksi ke ESP8266
VCC 3.3V (Gunakan Level Shifter jika perlu)
GND GND
TXD D7 (GPIO13 - RX ESP8266) (Gunakan pembagi tegangan 1KΩ dan 2KΩ jika perlu)
RXD D8 (GPIO15 - TX ESP8266) (Gunakan Level Shifter jika perlu)
KEY (Opsional) Tidak dihubungkan (Kecuali untuk konfigurasi AT Mode)

Catatan:

  • HC-05 dirancang untuk 5V, tetapi ESP8266 bekerja pada 3.3V, jadi pastikan TX HC-05 mendapat tegangan 3.3V menggunakan pembagi tegangan.
  • RX ESP8266 dapat menerima langsung dari TX HC-05 tanpa konversi tegangan.

4. Menginstal Arduino IDE untuk ESP8266

Sebelum menulis kode, pastikan Anda sudah menginstal Board ESP8266 di Arduino IDE:

  1. Buka Arduino IDE, lalu masuk ke File > Preferences.
  2. Di kolom Additional Board Manager URLs, tambahkan:
  3. http://arduino.esp8266.com/stable/package_esp8266com_index.json

  4. Klik OK, lalu masuk ke Tools > Board > Board Manager.
  5. Cari ESP8266 dan klik Install.
  6. Pilih NodeMCU 1.0 (ESP-12E Module) di Tools > Board.

5. Program Bluetooth Serial Sederhana untuk ESP8266

Berikut adalah program sederhana yang memungkinkan komunikasi Bluetooth Serial antara ESP8266 dan smartphone menggunakan HC-05.

Kode Program ESP8266 + HC-05


#include <SoftwareSerial.h>

#define RX_PIN 13  // D7 (GPIO13) sebagai RX
#define TX_PIN 15  // D8 (GPIO15) sebagai TX

SoftwareSerial BTSerial(RX_PIN, TX_PIN); // Buat software serial untuk Bluetooth

void setup() {
Serial.begin(115200);   // Serial untuk debugging di Serial Monitor
BTSerial.begin(9600);   // Serial Bluetooth HC-05

Serial.println("Bluetooth siap! Hubungkan perangkat Anda.");
}
    
void loop() {
// Jika ada data masuk dari Bluetooth (HC-05)
if (BTSerial.available()) {
char receivedChar = BTSerial.read();
Serial.print("Diterima via Bluetooth: ");
Serial.println(receivedChar);
}

// Jika ada data masuk dari Serial Monitor (Komputer)
if (Serial.available()) {
char sendChar = Serial.read();
BTSerial.write(sendChar);  // Kirim data ke perangkat Bluetooth
}
}

6. Penjelasan Kode

  1. SoftwareSerial BTSerial(RX_PIN, TX_PIN);

    • Membuat komunikasi Software Serial di pin D7 (RX) dan D8 (TX) untuk berkomunikasi dengan HC-05.
  2. BTSerial.begin(9600);

    • Mengatur baud rate Bluetooth HC-05 ke 9600 (default untuk komunikasi Bluetooth).
  3. if (BTSerial.available())

    • Mengecek apakah ada data masuk dari Bluetooth dan menampilkannya di Serial Monitor.
  4. if (Serial.available())

    • Mengecek apakah ada data masuk dari Serial Monitor (komputer), lalu mengirimkannya ke perangkat Bluetooth.

7. Cara Menghubungkan ESP8266 dengan Perangkat Bluetooth

Setelah kode diunggah ke ESP8266, ikuti langkah-langkah berikut:


Menghubungkan dari Smartphone (Android)

  1. Aktifkan Bluetooth di smartphone.
  2. Pasangkan perangkat HC-05 (Kode default: 1234 atau 0000).
  3. Gunakan aplikasi Bluetooth Terminal seperti:
    • Serial Bluetooth Terminal (Android)
  4. Buka koneksi ke HC-05, lalu mulai mengirim dan menerima pesan.

Menghubungkan dari PC/Laptop

  1. Aktifkan Bluetooth di laptop.
  2. Cari perangkat Bluetooth bernama HC-05 dan hubungkan.
  3. Gunakan software terminal serial, seperti:
    • Putty
    • CoolTerm
    • Arduino Serial Monitor
  4. Pilih port COM yang sesuai, lalu coba kirim dan terima pesan.

Contoh Aplikasi: Mengontrol LED dengan Bluetooth

Sekarang kita buat aplikasi yang lebih berguna, yaitu menyalakan dan mematikan LED menggunakan perintah dari Bluetooth.

Kode ESP8266 + HC-05 untuk Mengontrol LED


#include <SoftwareSerial.h>

#define RX_PIN 13 // D7 (GPIO13) RX
#define TX_PIN 15 // D8 (GPIO15) TX
#define LED_PIN 2 // LED di GPIO2

SoftwareSerial BTSerial(RX_PIN, TX_PIN);

void setup() {
Serial.begin(115200);
BTSerial.begin(9600);
pinMode(LED_PIN, OUTPUT);
Serial.println("Bluetooth LED Control Siap!");
}

void loop() {
if (BTSerial.available()) {
char command = BTSerial.read();
Serial.print("Perintah diterima: ");
Serial.println(command);

if (command == '1') {
    digitalWrite(LED_PIN, HIGH);
    Serial.println("LED ON");
} else if (command == '0') {
    digitalWrite(LED_PIN, LOW);
    Serial.println("LED OFF");
}
}
}

Cara Menggunakan:

  • Kirim "1" untuk menyalakan LED.
  • Kirim "0" untuk mematikan LED.

Kesimpulan

Meskipun ESP8266 tidak memiliki Bluetooth bawaan, kita masih bisa menggunakan HC-05/HC-06 untuk komunikasi Bluetooth Serial. Tutorial ini menjelaskan cara menghubungkan HC-05 ke ESP8266, mengirim dan menerima data, serta mengontrol LED melalui Bluetooth. Dengan teknik ini, Anda bisa mengembangkan proyek lain seperti home automation atau pengendalian robot via Bluetooth! 🚀