【N+】千里马Plus项目式课程 - 02 循迹行驶
本帖最后由 Nplus实验室 于 2023-4-3 10:42 编辑【N+】千里马Plus项目式课程02 循迹行驶- N+桃李科教上一篇:【N+】千里马Plus项目式课程 - 01 初识千里马
下一篇:【N+】千里马Plus项目式课程 - 03 识色运动
教学目标
1.认识循迹传感器;
2.学习循迹传感器的使用;
3.实现循迹传感器巡线的功能。
教学准备
千里马、地图、数据线
教学过程
导入 → 认识循迹传感器 → 分析巡线原理 → 项目程序 → 总结
1.导入
(1)知识回顾:
1.千里马固件烧录注意事项:左侧轮子边上有一个开关,烧录不同的固件,开关拨动的方向是不同的,靠近车尾那一端有一个“三角形”的符号。
掌控板固件AI固件
2.转弯原理:通过速度差进行转弯,一种是方向相同产生速度差,另一种是方向相反产生速度差。
(2)智慧交通
上节课已经初步了解了千里马的基本功能,接下来,我们将学习千里马的更多功能,完成各种各样的智慧交通项目。
观看视频千里马的视频《循迹行驶》https://v.qq.com/x/page/v3508f6kgnl.html
2.循迹传感器
2.1认识循迹传感器
千里马的巡线传感器是根据反射式光电传感器原理开发的。千里马底部朝上,从右至至左,分别为D1、D2、D3、D4巡线探头。
我们应该使用多少探头进行巡线呢?探头越多,巡线时越精准。使用两个或者四个都可以进行巡线,通常是中间两个进行巡线,遇到路口时,再使用边上的两个进行判断。
2.2编程语句
1.循迹行驶需要用的编程语句如下:
获取指定巡线传感器的巡线值,返回的是数值,范围0-255
判断指定巡线传感器是否碰到黑线,碰到黑线,返回“Ture”,否则返回“False”
设置识别到白线的阈值,范围是0-255,默认是100,与上一条语句共同使用,若阈值为100,使用上一条语句时,当巡线值小于100时,默认碰到白线,100以上,则碰到黑线。
2.3分析探头
2.3.1 获取探头数值
目标:屏幕显示循迹传感器探头获取的数值。
1.屏幕显示
1.千里马屏幕的尺寸是256*192,如下图所示。
2.屏幕显示需要用的语句,如下表所示。
LCD屏显示字体的颜色,可以自由选择
文本显示坐标以及文本内容;
X轴坐标范围是:0-256,Y轴坐标范围是:0-194
清空屏幕的显示,显示之前,一定要有这一句,否则无法显示。
3.屏幕显示需要用的语句,如下表所示。
2.显示探头获取数值
1.屏幕显示D2探头的循迹值。运行程序后,让D2探头检测有颜色的物体,可以发现,颜色越深,数值越大,黑色的数值大于200以上。
2.屏幕显示四个探头的值。运行程序后,让所有探头检测有颜色的物体
2.3.2判断探头状态
目标:判断D2探头是否碰到黑线,碰到黑线后,两只耳朵亮红灯,否则亮绿灯。
1.亮灯
1.控制千里马耳朵上RGB灯的编程语句如下。
选择0号或1号灯,通过修改红、绿、蓝的数值可改变灯的颜色,范围是0-255,数值越大,亮度越大
2.千里马两个耳朵的灯亮红色2s,然后绿色1s,最后关闭。程序如下:
2.根据状态亮灯
千里马初始化,设置循迹阈值,如果D2探头碰到黑线,两只耳朵亮红灯,否则亮绿灯。加上循环和延时,程序如下:
尝试修改循迹阈值,看看程序有什么不一样。
3.循迹行驶
3.1两路循迹
两路巡线,只需要使用中间两个探头进行巡线,也就是D2、D3。
3.1.1两路循迹分析
因为使用的是两个探头,所以千里马没有办法走岔路口。若巡线传感器探头碰到黑线,设为1;白色为0。对巡线过程遇到的情况进行分析,如下表所示:
123
左边(D2)001
右边(D3)010
3.1.2程序编写
1.当两个探头处在黑线时,保持直行,速度可以设置的慢一些,方便调试。
2.当D2碰到黑线,而D3碰到白线时,右转。
3.当D2碰到白线,而D3碰到黑线时,左转。
4.加上循环和延时,完整程序如下图所示。
5.刷入程序,将千里马放到地图测试,根据测试结果修改速度和阈值。
3.2四路循迹
四路循迹需要用到四个循迹探头,D2、D3让千里马沿线行驶,D1、D4判断岔路口,应该往哪边转弯。
3.2.1四路循迹分析
岔路口情况分析:
D1=0,D4=0时,则说明没有遇见岔路口,千里马的移动则根据D2、D3的情况来定,D1=1,D4=1,说明遇到十字路口,可以定义怎么去行驶,但通常都是D1、D4中的某一个探头先碰到白线,偶尔才会出现同时碰到白线。具体分析如下图所示:
D1(最左边)0011
D4(最右边)0101
动作根据中间D2、D3判断情况行驶
右转左转停止或自定义其他动作
3.2.2程序编写
1.新建变量“max”、“min”表示最大巡线过程中最大的速度和最小的速度,这样修改的时候直接修改变量的值即可。将变量放入二路循迹的程序中。
2.当D1碰到黑线,D4碰到白线时,右转。因为转弯角度比较大,所以速度差可以大一些。
3.当D4碰到黑线,D1碰到白线时,左转。因为转弯角度比较大,所有速度差可以大一些。
4.加上两路循迹的程序,完整程序如下图所示:
5.刷入程序,将千里马放到地图测试,根据测试结果修改速度、延时以及阈值大小。
4.总结
1.二路循迹与四路有什么区别?
2.巡线过程中需要注意什么?如何让巡线更准确?
5.课后作业
1.使用获取的循迹数值进行巡线行驶,测试过程中比较与判断是否碰到黑线有什么不同?
千里马Plus购买链接:N+千里马Plus
本课PPT、视频及案例代码下载:
链接: https://pan.baidu.com/s/1yHh9sDI1gGYkBnEpnujMIg
提取码: 8888
页:
[1]