#include <BluetoothSerial.h>
#include <L298NX2.h>
#define LED_BUILTIN 2
//-------------L298---------------------------------------------------
// motor 1 settings
#define ENA 4 // this pin must be PWM enabled pin if Arduino board is used
#define IN_1 16 //rx2
#define IN_2 17 //tx2
// motor 2 settings
#define ENB 5 // this pin must be PWM enabled pin if Arduino board is used
#define IN_3 18 //d18
#define IN_4 19 //d19
//L298NX2 mybot(IN_1,IN_2,IN_3,IN_4); //for full speed
L298NX2 mybot(ENA, IN_1, IN_2, ENB, IN_3, IN_4); //for speed
//---------BT--------------------
BluetoothSerial EspBT;
//------Bluetooth RC Controller Define ----
#define back_light 21 //D21
#define front_light 22 //D22
#define horn_Buzz 26 //D26
char bdata; //for bluetooth command store
void setup() {
Serial.begin(9600);
Serial.println(F("init"));
EspBT.begin("BT_MSKCAR2025_01");
//custom pins for light and buzzer
pinMode(LED_BUILTIN, OUTPUT);
pinMode(back_light, OUTPUT);
pinMode(front_light, OUTPUT);
pinMode(horn_Buzz, OUTPUT);
//testing
mybot.setSpeed(100);
mybot.forward();
delay(100);
mybot.stop();
//test done
}
//-----------------------------------------
void loop() {
while (EspBT.available() > 0) {
bdata = EspBT.read();
Serial.println(bdata);
//make condition based on BLE data
switch (bdata) {
case 'F':
Serial.println("Forward");
mybot.forward();
break;
case 'B':
Serial.println("Reverse");
mybot.backward();
break;
case 'L':
Serial.println("Left");
mybot.forwardA();
mybot.backwardB();
break;
case 'R':
Serial.println("Right");
mybot.forwardB();
mybot.backwardA();
break;
case 'S':
Serial.println("Stop");
mybot.stop();
break;
case '0':
Serial.println("Stop");
mybot.stop();
break;
case '3':
Serial.println("LOW speed");
mybot.setSpeed(100);
break;
case '5':
Serial.println("Mid speed");
mybot.setSpeed(150);
break;
case '9':
Serial.println("Mid speed");
mybot.setSpeed(255);
break;
}
}
}