第一题参考代码: (程序名:program1)
#include <LNDZ.h>
analog mnb(6,37);//定义模拟板的模拟输入口(6)跟数字口(37)
lc lcd;//自定义lcd液晶显示器的名称
int i;//定义整型变量i
void init()
{
lcd.begin(16,2);//定义液晶显示器的规格16列2行
lcd.backgroud(1);//开启背景光
}
void repeat()
{
//获取模拟板的值,再让这个值乘1000,输出变量i,
i=lcd.readanalog();
i=i*1000;
lcd.print(i);
//延时300毫秒,再清屏.
delay(300);
lcd.clear();
}
第二题参考代码: (程序名:program2)
#include <LNDZ.h>
ground gro(23);
int ll,l,m,r,rr,n;
void check()
{
ll=gro.getV(1);//获取眼睛1(灰度传感器)的值
l=gro.getV(2);//获取眼睛2(灰度传感器)的值
r=gro.getV(3);//获取眼睛3(灰度传感器)的值
rr=gro.getV(4);//获取眼睛4(灰度传感器)的值
m=gro.getV(5);//获取眼睛5(灰度传感器)的值
n=ll+l+m+r+rr;//获取5个眼睛的总和
if(ll==0)
{//看见黑线,先倒车,向右大幅度调整
motor(-30,-30);
delay(250);
motor(30,-30);
delay(300);
}
else if(l==0)
{//看见黑线,先倒车,向右小幅度调整
motor(-30,-30);
delay(250);
motor(30,0);
delay(300);
}
else if(r==0)
{//看见黑线,先倒车,向左小幅度调整
motor(-30,-30);
delay(250);
motor(0,30);
delay(300);
}
else if(rr==0)
{//看见黑线,先倒车,再向左大幅度调整
motor(-30,-30);
delay(250);
motor(-30,30);
delay(300);
}
else if(m==1) motor(30,30); //没看见黑线,一直前走
if(n<2)//如果4个以上的眼睛看见黑线,停车,结束程序
{
motor(0,0);
while(1);
}
}
void init()
{
motor(50,-50);//原地转圈,延时1000毫秒
delay(1000);
motor(30,30);//再向前走200毫秒
delay(200);
}
void repeat()
{
check();//调用自定义函数
}