Hello..... I recently coded this line following car and a bluetooth controlled car. I've been trying to combine both the codes to make the car change the modes via a button in the app. Here's how far I've gotten
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11);
char BT = BTSerial.read();
int IRL = 16;
int IRR = 17;
int M1H = 2;
int M1L = 3;
int M2H = 4;
int M2L = 5;
void setup() {
Serial.begin(9600);
pinMode(M1H, OUTPUT);
pinMode(M1L, OUTPUT);
pinMode(M2H, OUTPUT);
pinMode(M2L, OUTPUT);
pinMode(IRL, INPUT);
pinMode(IRR, INPUT);
}
void Forward() {
digitalWrite(M1H, HIGH);
digitalWrite(M1L, LOW);
digitalWrite(M2H, HIGH);
digitalWrite(M2L, LOW);
}
void Backward() {
digitalWrite(M1H, LOW);
digitalWrite(M1L, HIGH);
digitalWrite(M2H, LOW);
digitalWrite(M2L, HIGH);
}
void Stop() {
digitalWrite(M1H, LOW);
digitalWrite(M1L, LOW);
digitalWrite(M2H, LOW);
digitalWrite(M2L, LOW);
}
void Left() {
digitalWrite(M1H, LOW);
digitalWrite(M1L, LOW);
digitalWrite(M2H, HIGH);
digitalWrite(M2L, LOW);
}
void Right() {
digitalWrite(M1H, HIGH);
digitalWrite(M1L, LOW);
digitalWrite(M2H, LOW);
digitalWrite(M2L, LOW);
}
void Line() {
if ((digitalRead(IRR) == HIGH) && (digitalRead(IRL) == HIGH)) {
digitalWrite(M1H, LOW);
digitalWrite(M1L, HIGH);
digitalWrite(M2H, LOW);
digitalWrite(M2L, HIGH);
}
if ((digitalRead(IRR) == LOW) && (digitalRead(IRL) == HIGH)) {
digitalWrite(M1H, LOW);
digitalWrite(M1L, LOW);
digitalWrite(M2H, LOW);
digitalWrite(M2L, HIGH);
}
if ((digitalRead(IRR) == HIGH) && (digitalRead(IRL) == LOW)) {
digitalWrite(M1H, LOW);
digitalWrite(M1L, HIGH);
digitalWrite(M2H, LOW);
digitalWrite(M2L, LOW);
}
if ((digitalRead(IRR) == LOW) && (digitalRead(IRL) == LOW)) {
digitalWrite(M1H, LOW);
digitalWrite(M1L, LOW);
digitalWrite(M2H, LOW);
digitalWrite(M2L, LOW);
}
}
void Bluetooth(){
}
void loop() {
if (Serial.available() > 0) {
char BT = BTSerial.read();
}
if (BT == 'U') {
Forward();
} else if (BT == 'D') {
Backward();
} else if (BT == 'S') {
Stop();
} else if (BT == 'L') {
Left();
} else if (BT == 'R') {
Right();
} else if (BT == 'X') {
Line();
} else if (BT == 'x') {
Bluetooth();
}
}