const int In1 = 14;//L298N模塊信號輸入
const int In2 = 15;
const int In3 = 16;
const int In4 = 17;
const String GO = "G";//藍牙遙控器發送信息代碼定義
//const String BACK = "B";
//const String RIGHT = "R";
//const String LEFT = "L";
const String STOP = "S";
void setup()
{
pinMode(In1, OUTPUT);
pinMode(In2, OUTPUT);
pinMode(In3, OUTPUT);
pinMode(In4, OUTPUT);
Serial.begin(9600);//初始化串口通信,設置波特率為9600
}
void goForward() {//小車前進
digitalWrite(In1, HIGH);
digitalWrite(In2, LOW);
digitalWrite(In3, HIGH);
digitalWrite(In4, LOW);
}
//void goBack() {//小車后退
// digitalWrite(L298nIn1, LOW);
// digitalWrite(L298nIn2, HIGH);
// digitalWrite(L298nIn3, HIGH);
// digitalWrite(L298nIn4, LOW);
//}
void goStop() {//小車停止
digitalWrite(In1, LOW);
digitalWrite(In2, LOW);
digitalWrite(In3, LOW);
digitalWrite(In4, LOW);
}
//void turnRight() {//小車右轉
// digitalWrite(L298nIn1, LOW);
// digitalWrite(L298nIn2, HIGH);
// digitalWrite(L298nIn3, LOW);
// digitalWrite(L298nIn4, HIGH);
//}
//void turnLeft() {//小車左轉
// digitalWrite(L298nIn1, HIGH);
// digitalWrite(L298nIn2, LOW);
// digitalWrite(L298nIn3, HIGH);
// digitalWrite(L298nIn4, LOW);
//}
String readTtl() { //讀取發送的 G、L、S、R、B等等
String comdata = ""; //定義空的字符串
while (Serial.available()) //緩沖池內的數據
{
comdata += char(Serial.read()); //讀取緩沖池內數據,每次讀一個,加到字符串里面
delay(2); //延遲兩秒
}
return comdata;
}
void loop()//主循環函數
{
String s = readTtl();
if (s == GO ) goForward();//如果按GO鍵,小車前進,直到按STOP鍵停止
// if (s == LEFT ) turnLeft();
if (s == STOP ) goStop();
// if (s == RIGHT ) turnRight();
// if (s == BACK) goBack();
}
|