zuo2=0; //左边往后 you1=0;
you2=1; //右边往前 }
void tingzhi() {
zuo1=0;
zuo2=0; //左边往后 you1=0;
you2=0; //右边往前 }
void main() {
while(1) {
if(zuod==0&youd==0) //如果左右两个传感器没有检测到黑线 {
qian(); //直走 out=ZM[1];
if(qiand==0) //如果在直走的过程中遇见障碍物 {
delay(50); //延时判断是否为干扰 if(qiand==0) //不是干扰 {
jiao=0; //蜂鸣器报警 tingzhi();
delay_nms (120);
hou(); //后退半秒 out=ZM[2];
delay(500);
you(); //右转200毫秒 out=ZM[4]; delay(200);
jiao=1; //取消报警
30
} } }
if(zuod==1&youd==0) //如果左边的传感器检测到黑线 {
while(1) {
zuo();
out=ZM[3]; //左转 D1=0;
if(zuod==0) //一直左转到传感器检测不到为止 {
D1=1;
break; //跳出循环 } } }
if(youd==1&zuod==0) {
while(1) {
you(); out=ZM[4]; D2=0;
if(youd==0) {
D2=1;
break; //道理同上 } } } } }
//效果:沿着黑线行走 中途遇见障碍物后退右转
31
附录二 实物图
32
相关推荐: