实验内容、步骤:
(1) 在较安静的情况下,机器人静止不动,当有人发出声音时,有节奏的回应。
运行结果:当在机器人麦克风旁边轻拍几下发出声音时,它会有节奏的回应几声.
(2) 在较安静的情况下,机器人静止不动,当有人发出声音时,机器人开始前进(躲避路
途中的障碍)。
6
7
注意:
1、光敏传感器使用平均值
2、声音检测,值不可太大,避免机器人无反映,也不可太小,使得识别过度灵敏。 3、时间变量为浮点型。(float)
8
实验四机器人航天飞船实验
实验目的:
深入熟悉流程图的语法编译,学会光敏传感器的应用。
实验要求:
应用光敏传感器,使用JC代码编写程序,要逐步脱离对流程图编译的依赖。
实验内容、步骤:
(1) 机器人有趋光性,应用左右光敏传感器来判断光线强度,要求能发现远处的光源。 (2) 机器人到达光源附近后,围绕光源做圆周运动。
思考题:
(1) 写出实验内容中的JC源代码。
void main() {
int r,l; /*定义变量r右光敏l左光敏*/
int a1,a2,a3; /*定义标志位a1找光源方向a2靠近光源a3围绕光源转*/ int d1,d2; /*定义参数d1靠近光源左右方向参数d2旋转参数*/ a1=1;a2=0;a3=0; /*标志位设处值,a1设1则先执行找光源方向*/ while(1) {
while(a1) /*执行a1找光源*/ {
r=photo(2); l=photo(1);
printf(\
if(r<230||l<230) /*发现光源方向的条件*/
{a1=0;a2=1;} /*转到a2执行,靠近光源*/ drive(0,20); /*原地转,寻找光源方向*/ wait(0.1); }
while(a2) /*执行靠近光源*/ {
r=photo(2); l=photo(1);
d1=(l-r)*2; /*设置d1参数*/ printf(\
if(r<150||l<150) /*到达光源附近的条件*/
{a2=0;a3=1;} /*转到 a3执行,围绕光源转圈*/ else if (r>230&&l>230) /*远离光源的条件*/
{a1=1;a2=0;} /*转到a1执行,寻找光源方向*/ drive(80,d1); /*靠近光源移动*/
9
wait(0.1); }
while(a3) /*执行围绕光源转圈*/ {
r=photo(2);
d2=r-150; /*设置d2参数*/ printf(\
drive(80,d2); /*围绕光源转动,先调整轨道,停留在r=150的圆圈轨道上运动*/
wait(0.01); } } }
注意:
1、光敏传感器的灵敏度较低,反馈值的变化不稳定,做试验时开始先查看试验场地各处的光敏传感器反馈值的情况(离开光源较远的地方,从较远的地方向光源移动的途中,在光源附近的地方。)
2、机器人运动分为三个步骤(1)发现光源方向。(2)向光源运动。(3)围绕光源转圈。
实验五、六机器人灭火实验
实验目的:
接触比较大规模的编程,激发学习和创新能力。
通过灭火的程序对JC的知识进行全面的巩固,熟练应用各种传感器。
实验要求:
要求使用JC代码编程,脱离流程图的编译。
实验内容、步骤:
机器人巡查火场各个房间,不重复,发现火源,灭火。
10