Project #7 ESP32 - Berkomunikasi dengan Bluetooth Classic

 


Halo, apa kabar semuanya? Perkenalkan kembali saya Muhammad Vito Ibrahim. Pada kesempatan kali ini saya akan mencoba bluetooth yang dihubungkan dengan ESP32.

Nah , project kali ini juga merangkap sebagai rekam jejak atau laporan saya untuk mata kuliah ( II2260 Sistem Embedded ). Agar lebih detail kali ini saya akan mencoba menyalakan dan mematikan LED secara wireless melalui perangkat android dengan memanfaatkan fitur bluetooth dari ESP32.


Komunikasi Bluetooth ESP32

Perangkat dan komponen yang digunakan:

1. Mikrokontroler ESP32 Development Board
2. Arduino IDE
3. Laptop/Desktop dengan USB port
4. Kabel micro usb to USB A ( kabel data/charger biasanya )
5. Breadboard ( dapat digunakan maupun tidak)
6. Kabel Jumper ( siapkan ketiga jenis model kabel yaitu F-F, F-M, dan M-M untuk antisipasi)
7. Resistor 330 Ohm
8. Aplikasi Bluetooth Terminal di Android ( saya menggunakan aplikasi bernama "Serial Bluetooth Terminal" dari Playstore)
9. LED

Penjelasan beberapa perangkat dan komponen:

1. Mikrokontroler adalah sebuah komputer kecil yang dikemas dalam bentuk chip IC (Integrated Circuit) dan dirancang untuk melakukan tugas atau operasi tertentu.

2. ESP-32 Development Board adalah adalah mikrokontroler chip dengan rangkaian sistem hemat biaya dan rendah daya pada dilengkapi Wi-Fi yang terintegrasi dan Bluetooth.

3. Arduino IDE (Integrated Development Environment) adalah software yang di gunakan untuk memprogram di arduino, dengan kata lain Arduino IDE sebagai media untuk memprogram board Arduino. Pada kali ini bisa juga digunakan untuk memprogram mikrokontoler lainnya yaitu ESP32 dengan konfigurasi tambahan.

4. Breadboard adalah papan tempat komponen elektronik tanpa harus disolder.

5. Kabel jumper adalah kawat listrik, atau kabel, dengan konektor atau pin di setiap ujungnya, yang biasanya digunakan untuk menghubungkan komponen pada breadboard.

6. Resistor adalah penghambat arus listrik.

7. LED adalah lampu LED.

Pendahuluan :

Kali ini saya akan mencoba memanfaatkan komunikasi bluetooth yang terdapat pada ESP32, dengan menggunakan aplikasi di Android perintah menghidupkan dan mematikan LED akan dikirim secara wireless menggunakan bluetooth ke ESP32.

Langkah pengerjaan :

a. Menyiapkan Bluetooth ESP32.

Pada Arduino IDE buka File > Examples > Bluetooth Serial > SerialtoSerialBT

akan ditampilkan kode berikut :

//This example code is in the Public Domain (or CC0 licensed, at your option.)
//By Evandro Copercini - 2018
//
//This example creates a bridge between Serial and Classical Bluetooth (SPP)
//and also demonstrate that SerialBT have the same functionalities of a normal Serial

#include "BluetoothSerial.h"

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif

BluetoothSerial SerialBT;

void setup() {
  Serial.begin(115200);
  SerialBT.begin("ESP32test"); //Bluetooth device name
  Serial.println("The device started, now you can pair it with bluetooth!");
}

void loop() {
  if (Serial.available()) {
    SerialBT.write(Serial.read());
  }
  if (SerialBT.available()) {
    Serial.write(SerialBT.read());
  }
  delay(20);
}
Upload kode ke ESP32 yang telah terhubung dengan Arduino IDE kemudian buka serial monitor dengan rate baud 115200.





b. Menghubungkan komunikasi bluetooth dengan prangkat Android.

Install aplikasi "Serial Bluetooth Terminal" di Android.

Ketika aplikasi telah ter-install, hubungkan bluetooth pada perangkat Android ke ESP32 melalui pengaturan > bluetooth (sesuaikan dengan perangkat yang digunakan).




Setelah bluetooth antar kedua perangkat berhasil terhubung, melakukan uji coba dengan mengirimkan kata maupun kalimat menggunakan aplikasi.

Pada aplikasi Serial Bluetooth Terminal. Klik menu device lalu dipilih perangkat bluetooth ESP32. Kemudian dapat langsung menuliskan apapun pada terminal sehingga output di Arduino IDE seperti berikut. 











Jika berhasil menampilkan kata maupun kalimat di serial, dapat dipastikan koneksi antar perangkat sudah baik.


c. Menghidupkan dan mematikan LED dengan komunikasi bluetooth.

wiring

LED saya hubungkan dengan GPIO16





coding di ArduinoIDE
//sumber : randomnerdtutorial// Load libraries
#include "BluetoothSerial.h"
// Check if Bluetooth configs are enabled
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif
// Bluetooth Serial object
BluetoothSerial SerialBT;
const int ledPin = 16;void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(115200);
// Bluetooth device name
SerialBT.begin("ESP32");
Serial.println("The device started, now you can pair it with bluetooth!");
}
void loop() {
// Read received messages (LED control command)
if (SerialBT.available()){
char incomingChar = SerialBT.read();
if (incomingChar != '\n'){
message += String(incomingChar);
}
else{
message = "";
}
Serial.write(incomingChar);
}
// Check received message and control output accordingly
if (message =="led_on"){
digitalWrite(ledPin, HIGH);
SerialBT.println("LED is on");
}
else if (message =="led_off"){
digitalWrite(ledPin, LOW);
SerialBT.println("LED is off");
}
delay(20);
}
Penjelasan kode :
Menginisialisasi LED ke pin GPIO16
Kemudian menghubungkan dengan bluetooth dan jika masukan value adalah led_on maka LED akan menyala jika led_off maka LED akan mati.

Upload kode dan buka serial monitor 

Ubah value pada tombol macro di aplikasi dengan cara menekan dan menahan, value diubah ke led_on dan led_off.

Kemudian lakukan uji coba dan akan menampilkan seperti berikut :







Output akan seperti berikut :




Kompilasi video pengerjaan :






Error dan troubleshooting:

Pada project kali ini tidak terdapat error.

Kesimpulan:

Mengirim perintah value led_on dan led_off dari aplikasi ke ESP32 menggunakan komunikasi bluetooth.

Referensi :

1. randomnerdtutorials.com
2. wikipedia

Terimakasih, sampai jumpa pada project berikutnya!







Posting Komentar

0 Komentar