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();
}
|