【N+】千里马Plus项目式课程 - 08 视觉巡线4
本帖最后由 Nplus实验室 于 2023-6-9 10:22 编辑【N+】千里马Plus项目式课程08 视觉巡线4- N+桃李科教
上一篇:【N+】千里马Plus项目式课程 - 07 视觉巡线3
下一篇:【N+】千里马Plus项目式课程 - 09 识物停车
教学目标
1.学习舵机使用;
2.学习控制摄像头角度;
3.完成项目程序。
教学准备
千里马、地图、数据线、卡片
教学过程
导入 → 摄像头角度的控制 → 项目程序→ 总结
1.导入
(1)课程回顾:
循迹传感器和摄像头巡线都已经学习完,这两者有什么区别?
循迹传感器一般根据线宽、巡线传感器的间距、巡线传感器的数量等,会有好几种巡线模式。可以根据巡线传感器在白线和黑线上的位置来判断麦昆小车什么时候需要直行、什么时候需要左转、什么时候需要右转。
摄像头巡线,利用的视觉功能,通过获取色块的中心位置,然后再根据中心坐标的偏移,来左右转弯,从而实现视觉巡线功能。这跟巡线传感器的逻辑非常类似,我们只需要知道千里马相对黑线是什么位置就行了。
优缺点分别是什么?
循迹传感器可以更好得判断路口,并且不受光线影响。而视觉传感器无法判断路口,同时受光线影响很大,但是它可以更换角度,同时可以识别其他物体。
本节课我们将继续学习视觉巡线在智慧交通中的应用。
2.摄像头角度
千里马可以通过舵机控制摄像头上下转动。摄像头水平时是90度,上下转动幅度是45度。向上转动至45°,向下转动至135°。如下所示:
2.1程序语句
控制摄像头角度的语句可以使用舵机模块中的,也可以使用千里马模块中的语句,控制摄像头舵机角度的程序如下。
设置舵机角度,引脚设置为P13。
设置舵机角度。
2.2程序编写
目标:按A键,摄像头向上转动,按B键,摄像头向下转动。
修改舵机引脚为P13,设置变量“i”为舵机角度,初始值为90,按下A键后,变量“i”数值减小,按下B键后,“i”增大。
3.项目程序
目标:视觉巡线过程中,颜色传感器识别到红色,停止巡线,控制摄像头运动,识别红绿灯,红灯停、绿灯行。
3.1程序流程图
程序流程图如下图所示:
3.2程序编写
1.为了方便控制千里马什么时候开始巡线以及学习颜色,设置:按一下A键,进行学习;长按A键,清除学习数据。新建变量“t”用来计时,当A键按下时,开始计时,然后通过t的值来判断A键是短按还是长按。
2.设置变量“i”用来表示状态,初始值为0,当按下B键时,i的值设为1,表示开始进行视觉巡线,当颜色传感器识别到黄色时,i的值设为2。
3.如果i=1,舵机角度为128°,也就是向下;当获取ID0数据时,开始视觉巡线,视觉巡线的程序使用上节课经过PID算法优化的程序。
4.如果i=2,舵机角度为45°,也就是向上;如果获取ID2数据,停止不动,直到获取ID1,千里马前进1s,变量“i”变为0,开始巡线,延时1s,是为了不让颜色传感器检测到色块。
5.完善程序,完整程序如下。
6.程序刷入后,将之前学习的数据进行清楚,先学习巡线的颜色,再学习绿灯的颜色,最后学习红灯的颜色;学习颜色的顺序一定要跟程序对应好。
4.总结
1.摄像头角度是怎么控制的?
2.颜色学习应该提前学习吗?
5.课后作业
1.千里马在巡线过程中,特别是识别红绿灯的适合,会遇到错误识别,应该如何减少错误识别的概率?
千里马Plus购买链接:N+千里马Plus
本课PPT、视频及案例代码下载:
链接: https://pan.baidu.com/s/1HpABvIOqBsDNca2cJfseDg
提取码: 8888
不错不错 赞!!!! 厉害厉害 很不错的教程!
页:
[1]