Pada project kali ini akan mengontrol motor servo ke kanan dan kiri, melalui aplikasi android (serial Bluetooth monitor) dari ESP32 menggunakan Bluetooth classic. Sebelum membuat project ini siapkan alat-alat yang diperlukan sebagai berikut:
- ESP32
- Kabel data USB
- Breadboard
- Jumper male-male (3 buah)
- Motor servo
- Smartphone
Selanjutnya rangkai rangkaian seperti pada gambar dibawah ini:
Setelah terhubung
dengan baik sesuai dengan gambar, buka aplikasi Arduino IDE. Apabila belum
pernah menginstall dan mengupload program menggunakan Arduino IDE bisa pelajari
terlebih dahulu dalam postingan sebelumnya di https://alltechnologyproject.blogspot.com/2019/07/install-dan-upload-program-esp32.html.
.
Download library BluetoothSerial terlebih dahulu pada arduino IDE, klik Tools >> Manage Libraries atau bias juga dengan tekan Ctrl+Shift+I, ketikkan BluetoothSerial ke kolom search. Kemudian klik install, tunggu hingga proses selesai.
Download library BluetoothSerial terlebih dahulu pada arduino IDE, klik Tools >> Manage Libraries atau bias juga dengan tekan Ctrl+Shift+I, ketikkan BluetoothSerial ke kolom search. Kemudian klik install, tunggu hingga proses selesai.
Selanjutnya meng-upload program sketch code ke Board ESP32. Berikut ini merupakan code program nya:
.
.
#include "BluetoothSerial.h"
#define COUNT_LOW 0
#define COUNT_MIDDLE 4444
#define COUNT_HIGH 8888
#define TIMER_WIDTH 16
#include "esp32-hal-ledc.h"
BluetoothSerial ESP_BT; //Object for Bluetooth
int incoming;
void setup() {
ledcSetup(1, 50, TIMER_WIDTH); // channel 1, 50 Hz, 16-bit width
ledcAttachPin(2, 1); // GPIO 22 assigned to channel 1
Serial.begin(9600); //Start Serial monitor in 9600
ESP_BT.begin("ESP32_LED_Control"); //Name of your Bluetooth Signal
Serial.println("Bluetooth Device is Ready to Pair");
}
void loop() {
if (ESP_BT.available()) //Check if we receive anything from Bluetooth
{
incoming = ESP_BT.read(); //Read what we recevive
Serial.print("Received:"); Serial.println(incoming);
//Serial.print("Received:"); Serial.println(kiri);
if (incoming == 49)
ESP_BT.println("servo berputar ke kiri");
{
for (int i=COUNT_LOW ; i < COUNT_HIGH ; i=i+100)
{
ledcWrite(1, i); // sweep servo 1
delay(50);
}
}
if (incoming == 48)
ESP_BT.println("servo berputar ke kanan");
{
for (int i=COUNT_MIDDLE ; i > COUNT_LOW ; i=i-100)
{
ledcWrite(1, i); // sweep servo 2
delay(50);
}
}
}
delay(20);
}
#define COUNT_LOW 0
#define COUNT_MIDDLE 4444
#define COUNT_HIGH 8888
#define TIMER_WIDTH 16
#include "esp32-hal-ledc.h"
BluetoothSerial ESP_BT; //Object for Bluetooth
int incoming;
void setup() {
ledcSetup(1, 50, TIMER_WIDTH); // channel 1, 50 Hz, 16-bit width
ledcAttachPin(2, 1); // GPIO 22 assigned to channel 1
Serial.begin(9600); //Start Serial monitor in 9600
ESP_BT.begin("ESP32_LED_Control"); //Name of your Bluetooth Signal
Serial.println("Bluetooth Device is Ready to Pair");
}
void loop() {
if (ESP_BT.available()) //Check if we receive anything from Bluetooth
{
incoming = ESP_BT.read(); //Read what we recevive
Serial.print("Received:"); Serial.println(incoming);
//Serial.print("Received:"); Serial.println(kiri);
if (incoming == 49)
ESP_BT.println("servo berputar ke kiri");
{
for (int i=COUNT_LOW ; i < COUNT_HIGH ; i=i+100)
{
ledcWrite(1, i); // sweep servo 1
delay(50);
}
}
if (incoming == 48)
ESP_BT.println("servo berputar ke kanan");
{
for (int i=COUNT_MIDDLE ; i > COUNT_LOW ; i=i-100)
{
ledcWrite(1, i); // sweep servo 2
delay(50);
}
}
}
delay(20);
}
Untuk menjalankan
program ini memerlukan aplikasi serial Bluetooth monitor pada android, aplikasi
ini dapat di download di playstore. Setelah selesai download dan install
aplikasi tersebut, hubungkan Bluetooth android ke Bluetooth ESP32 yang sudah di
setting pada program.
Buka aplikasi serial
Bluetooth monitor dan connect kan dengan Bluetooth ESP32 dengan cara klik
device. Tunggu hingga proses connecting selesai.
Apabila sudah connect, tekan
angka 0 dan kirim maka servo akan berputar kearah kiri, dan tekan 1 untuk mengontrol
servo agar berputar kekanan.
Tidak ada komentar:
Posting Komentar