第二题:
#include <LNDZ.h>
int ll,l,m,r,rr,n; //定义5个整型变量
int t=0; //定义1个整型变量,赋初始值0
ground gro(23);//自定义灰度传感器 数字口为23
void init()
{}
void repeat()
{
//分别获取5个眼睛的值
ll=gro.getV(1);
l=gro.getV(2);
r=gro.getV(3);
rr=gro.getV(4);
m=gro.getV(5);
n=m+l+ll+r+rr;//获取5个眼睛总和的值
//根据不同眼睛返回的值 做出不同的动作
if(ll==0) motor(-30,30);
else if(l==0) motor(-15,25);
else if(r==0) motor(35,10);
else if(rr==0) motor(35,-35);
else if(m==0) motor(30,30);
if(n<3)
{
//如果看见路口。t计数一次。如果t等于3停车 ,否则向前走。
t++;
if(t==3)
{
motor(0,0);
while(1);
}
motor(35,35);
delay(200);
}
}
第三题:
#include <LNDZ.h>
int ll,l,m,r,rr,n; //定义5个整型变量
int t=0; //定义1个整型变量,赋初始值0
ground gro(23);//自定义灰度传感器 数字口为23
void check() //自定义函数check()
{
//分别获取5个眼睛的值
ll=gro.getV(1);
l=gro.getV(2);
r=gro.getV(3);
rr=gro.getV(4);
m=gro.getV(5);
n=m+l+ll+r+rr;//获取5个眼睛总和的值
//根据不同眼睛返回的值 做出不同的动作
if(ll==0) motor(-30,30);
else if(l==0) motor(-15,25);
else if(r==0) motor(35,-10);
else if(rr==0) motor(35,-35);
else if(m==0) motor(30,30);
}
void init()
{}
void repeat()
{
check();//调用自定义函数
if(n<3)
{
t++;//计算路口
if(t==1||t==3||t==6||t==9||t==11)//路口数为1,3,6,9,11时向前走
{
motor(30,30);
delay(180);
}
if(t==2)//路口数为2时,向右转
{
motor(35,-35);
delay(300);
}
if(t==4|t==5||t==7||t==8||t==10)//路口数为4,5,7,8,10时向左转
{
motor(-35,35);
delay(300);
}
if(t==12)//路口数为12时,终点停车,结束程序
{
motor(0,0);
while(1);
}
}
}
关注更多机器人竞赛内容请回到首页《通用技术网》打开《机器人赛》栏目查看
|