第8课 小小引导员
学习目标:了解灰度传感器的工作方式及学会编写机器人沿线行走的程序。
内容结构:
让机器人沿着线行走是机器人智能化的基本功能。
帐号登录后选择“江苏信息技术教材专区—小学”任务列表中的小小引导员,点击“任务说明”,了解任务描述及规则。如图8-1所示。
图8-1 机器人沿线行走的任务说明
任务描述:机器人从起点出发,沿着轨迹线行走,直到碰到终点的红线。 任务分析:从图中可以看出,机器人要到达红线的位置,需要经过“直行——左转——直行——右转——直行——右转——直行——左转——直行”的过程,利用前面的知识,可以利用“电机”和“延时”指令块来实现,但是需要反复调试,如果路线稍有变动又要调试。生活中,人们开车时用眼睛观察道路情况来决定行驶路线,因此要使机器人循线走,也可以给它安装一双眼睛——灰度传感器。
任务步骤:搭建带灰度传感器的机器人、编写程序。
一、搭建机器人
(一)任务分析
主题 搭建一个带灰度传感器的机器人 控制器 零件 驱动 传感器 其他 设计思路与实现步骤 (二)操作步骤
1.搭建基础四轮机器人并设置好端口 2.安装灰度传感器
“灰度传感器”能够识别探测到的颜色,并转换成相应的灰度值,数值范围是0~255,纯白色的灰度值为255,纯黑色的灰度值为0,如图8-2所示。
1个带卡位控制器 4个直流电机 2个灰度传感器 4个轮子 搭建基础机器人 安装灰度传感器 给灰度传感器设置端口
图8-2 灰度传感器
在本任务中,“灰度传感器”是用于区分地面黑色轨迹线和白色部分,因此安装时检测点需要朝向地面。为使机器人沿线行驶,在车前部的左右两侧分别安装一个灰度传感器,并且两个传感器的间距要稍大于轨迹线的宽度。如图8-3所示。
3.设置端口
图8-3 安装灰度传感器的机器人
给灰度传感器设置好端口,为区分左右灰度传感器,建议改名称,如图8-4
所示。
图8-4 给灰度传感器设置端口
4.保存文件
搭建好机器人后及时保存。
二、编写程序
(一)程序分析
要使机器人沿着轨迹线行驶,需要根据两侧灰度传感器检测到的颜色决定行驶方向。当左侧传感器检测到黑色时,机器人向左转;当右侧检测到黑色时,机器人向右转,当两侧检测都是白色时,机器人直行。
灰度传感器的值为0~255,任务中的白色地面经检测对应灰度值为198,如图8-5所示。黑线对应灰度值为0,因此可以取0-198中间的任意数值作为黑白分界值。比如中间值如果取100,那么小于100表示黑色,大于100表示白色。那么循线行驶过程为:当左侧灰度传感器小于100时,机器人向左转,当右侧的值小于100时,机器人向右转;当两侧的值均大于100时,机器人直行。如图8-6所示。
1取颜色吸管
2点击地面
3显示颜色值
图8-5 用颜色吸管测颜色值
图8-6 机器人循线的三种状态
议一议:必须100吗?
还有什么条件能表示出循线的三种状态?
(二)流程图
图8-7 小小引导员流程图
(三)编写
当我们需要条件判断的时候就需要用到“if判断”指令块,在指令库单击“控制”——“if判断”,如图8-8所示。
图8-8 “if判断”指令块
1. 添加“if判断”指令块
在开始下添加“if判断”指令块,在条件容器中右击添加“小于”指令块,在“小于”指令块左容器中右击添加“灰度传感器”,右容器中添加“常量int”指令块。其中“灰度传感器”指令块的端口选择31,“常量int”指令块的值设置成100。在“if判断”指令块的绿色√下添加“多直流电机”,在属性中设置成左转,如图8-9所示。
图8-9 添加“if判断”指令块
试一试:对照流程图试着把条件语句编写完吧。
保存文件试着在仿真界面运行看是否能完成任务。
2. 添加“while永远循环”指令块
仿真时,会发现机器人会一直直行,原因在于程序只执行过一次条件判断,要使机器人不断检测传感器的值,需要添加“while永远循环”指令块,如图8-10所示。
图8-10 小小引导员的程序
三、仿真调试
在仿真界面运行调试直至成功。
试一试:怎样才能提高得分?