#include <SoftwareSerial.h>
SoftwareSerial BTSerial(11, 12);
#define EN1 3
#define EN2 4
#define EN3 6
#define EN4 7
int carSpeed = 200;
void setup() {
BTSerial.begin(9600);
pinMode(EN1, OUTPUT);
pinMode(EN2, OUTPUT);
pinMode(EN3, OUTPUT);
pinMode(EN4, OUTPUT);
}
void loop() {
if (BTSerial.available()) {
char command = BTSerial.read(); // command
if (command == 'F' || command == 'f') {
// F f RC
moving_forward();
}
else if (command == 'B' || command == 'b') {
// B b RC
moving_backward();
}
else if (command == 'L' || command == 'l') {
// L l RC
moving_left();
}
else if (command == 'R' || command == 'r') {
// R r RC
moving_right();
}
else if (command == 'S' || command == 's') {
// S s RC
stop_moving();
}
else {
// RC
stop_moving();
}
}
//
delay(100);
}
void moving_forward() {
// A
digitalWrite(EN1, HIGH);
digitalWrite(EN2, LOW);
// B
digitalWrite(EN3, HIGH);
digitalWrite(EN4, LOW);
}
void moving_backward() {
// A
digitalWrite(EN1, LOW);
digitalWrite(EN2, HIGH);
// B
digitalWrite(EN3, LOW);
digitalWrite(EN4, HIGH);
}
void moving_left() {
// A
digitalWrite(EN1, HIGH);
digitalWrite(EN2, LOW);
// B
digitalWrite(EN3, LOW);
digitalWrite(EN4, HIGH);
}
void moving_right() {
// A
digitalWrite(EN1, LOW);
digitalWrite(EN2, HIGH);
// B
digitalWrite(EN3, HIGH);
digitalWrite(EN4, LOW);
}
void stop_moving() {
digitalWrite(EN1, LOW);
digitalWrite(EN2, LOW);
digitalWrite(EN3, LOW);
digitalWrite(EN4, LOW);
}
Comments
Please log in or sign up to comment.