#include "BluetoothSerial.h"BluetoothSerial SerialBT;
volatile char data;volatile int kecepatan;
void HR8833_Motor_Setup(int motorID,int pin1,int pin2){ledcSetup(motorID*2-2, 5000, 8);ledcAttachPin(pin1, motorID*2-2);ledcSetup(motorID*2-1, 5000, 8);ledcAttachPin(pin2, motorID*2-1); }
void HR8833_Motor_Speed(int motorID,int speed){if (speed == 0){ledcWrite(motorID*2-2, 0);ledcWrite(motorID*2-1, 0);}else if (speed > 0){ledcWrite(motorID*2-2, speed);ledcWrite(motorID*2-1, 0);}else{ledcWrite(motorID*2-2, 0);ledcWrite(motorID*2-1, -speed);}}
void cek_bluetooth() { // MAJU // motor kanan dan kiri menyala if (data == 'F') {HR8833_Motor_Speed(1,(130 + kecepatan)); HR8833_Motor_Speed(2,(130 + kecepatan)); } // STOP // motor kanan dan kiri berhenti berputar if (data == 'S') { HR8833_Motor_Speed(1,0); HR8833_Motor_Speed(2,0); } // MUNDUR // motor kanan dan kiri berbalik arah if (data == 'B') { HR8833_Motor_Speed(1,(-200)); HR8833_Motor_Speed(2,(-200)); } // BELOK KIRI // motor kanan berputar maju, motor kiri berhenti if (data == 'L') { HR8833_Motor_Speed(1,(130 + kecepatan)); } // BELOK KANAN // motor kiri berputar maju, motor kanan berhenti if (data == 'R') { HR8833_Motor_Speed(2,(130 + kecepatan)); }
// SERONG KIRI // motor kanan lebih cepat if (data == 'G') {HR8833_Motor_Speed(1,(130 + kecepatan)); HR8833_Motor_Speed(2,(80 + kecepatan)); } // SERONG KANAN // motor kiri lebih cepat if (data == 'H') {HR8833_Motor_Speed(1,(80 + kecepatan)); HR8833_Motor_Speed(2,(130 + kecepatan)); } if (data == '0') { kecepatan = 0;} if (data == '1') { kecepatan = 10; } if (data == '2') { kecepatan = 20; } if (data == '3') { kecepatan = 30; } if (data == '4') { kecepatan = 40; } if (data == '5') { kecepatan = 50; } if (data == '6') { kecepatan = 60; } if (data == '7') { kecepatan = 70; } if (data == '8') { kecepatan = 80; } if (data == '9') { kecepatan = 90; }}
void setup(){ kecepatan = 0; HR8833_Motor_Setup(1,14,13); HR8833_Motor_Setup(2,26,27); data = 0; SerialBT.begin("ESP32BT-1"); Serial.println("bluetooth On!"); Serial.begin(9600);}
void loop(){ if (SerialBT.available() > 0) { data = SerialBT.read(); Serial.println("data= "); Serial.print(data);
} if (Serial.available() > 0) { SerialBT.write(Serial.read());
} cek_bluetooth();
}