#包括
#包括/数据输入变量softwareserial RFIN(10,11);/ / 10 RX,TX数据的缓冲区11 [ 20 ];//这些缓冲分离在[ 20 ]输入字符串中字符的内容;/ /本店的运动型焦2 [ 20 ];//本店的左电机转速,如果可用的话。煤焦在[ 20 ];//本店对电动机的速度,如果可以的话。char c;//输入字符的存储字节我;/ /计数器字符串读取字节j = 0;//计数器字符串输出/运动:运动组布尔左=假;布尔吧= false;//运动:电机速度速度= 0 int int;rspeed = 0;//其他int时间= 0;//电机int lmotor = 3;int rmotor = 6;无效setup() {串行。开始(9600);RFIN。开始(4800);pinMode(lmotor,输出);pinMode(rmotor,输出);}#p#分页标题#e#
无效loop() { feed();respond();行为(速度,rspeed);}
无效findnumber(字符输入[ ],[ ]字符输出,输出字符[ ],[ ]字符输出){ char c;字节我= 0;字节j = 0;而(我< 3){输出=输入[我] [我];i++;} //启动速度数据是目前已知的在我而(J<3){输出=输入[ J ] [我];i++;j++;} j = 0;而(J<3){输出=输入[ J ] [我];i++;j++;} }
无效respond() { //公约:2将速度,3是rspeed。findnumber(缓冲,,2,3);
如果(strcmp(,“LFT”)= = 0){左=真;右= false;速度=削去到整数(2);}如果(strcmp(,“正确的”)= = 0){左=假;右= true;rspeed =削去到整数(3);}如果(strcmp(,“京津冀”)= = 0){左=真;右= true;速度=削去到整数(2);rspeed =削去到整数(3);}如果(strcmp(,“STP”)= = 0){左= false;} }权= false;
无效行为(int,int r){ //左电机如果(左){值(lmotor,L);} {(lmotor其他值,低);} //右电机如果(右){值(rmotor,R);} {(rmotor其他值,低);} }
int削去到整数(字符输入[ ]){ int输出= 0;输出=输入[ 2 ] -“0”;如果(输入[ 1 ] -“0”> 0)输出+ = 10 *(输入[ 1 ] -“0”);其他的;如果(输入[ 0 ] -“0”> 0)输出+ = 100 *(输入[ 0 ] -“0”);其他的;如果(输出> 0)返回输出;否则返回0;} {如虚空feed()(RFIN。available()){ c = RFIN。read();如果(C = = '$'){ / /串行out.println(“数据”);i = 0;C = RFIN。read();而(C!= '\n' & C!=“R & C!=“*”&我< 19){缓冲[我] = C;i++;C = RFIN。read();}缓冲[我] =“0”;} } }