528463| 9
|
DIY海盗船系列 第3话 --- 黑白巡线功能 |
DIY海盗船系列 第3话 --- 黑白巡线功能 在完成基础功能后,我们对机器人来个升级,给它增加黑白巡线功能。巡线功能,是机器人最基础的功能之一。小车能够跟着事先设定好的轨道,进行自主移动。用到的是Mini巡线传感器,可帮助机器人进行黑线与白线的识别,从而实现黑白巡线。 硬件材料:
组装步骤: 找到硬件材料后,就开始组装了,组装不难,更着操作就行。 STEP1: 摆放材料 找到需要安装传感器的元件,3个M3*60MM的尼龙柱,配套的螺丝及螺母。 STEP 2: 固定尼龙柱 将尼龙柱用螺母先固定到传感器上。固定时,注意方向。螺母和探头是一个方向。 STEP3: 安装传感器板 拆下小车的上层板,并将传感器板固定于小车车头。 STEP 4: 安装巡线传感器 先给传感器接上数据线,然后将其用M3螺丝固定到传感器的扩展板上。 硬件连接: 传感器安装完成后,先不要急着把上层板接上去,需要将传感器与Romeo BLE控制器连接。左边这张图显示的是三个传感器ABC在小车上对应的位置,分别对应数字口的10,9,8。,连接时只需留意线序是否正确即可。安装完成后,固定上层板。 传感器调试: 下载代码前,需要对三个传感器的做调整,先插上USB线,给板子供电。下图可见有个十字螺丝,可用来调整检测距离。拿一张白色纸,放在传感器探头下,找到传感器的探测点,一旦找到传感器上的指示灯会亮起。拿出一把螺丝刀,拧转螺丝,感受检测距离的变化,同时找到传感器检测地面黑线的最佳探测距离,推荐在2cm左右。 输入代码: 插上USB线,下载代码。由于代码较长,所以这里就不全部显示出来,你可在软件包中找到 HuntingLineBlack.ino的代码,下载进去后即可。 制作轨道: 用2.5cm宽的黑胶带在白板上搭出如下图所示的轨道。 线的宽度大约在2.5cm左右,大致在左边和右边的传感器之间。之所以这样布线的原因是由代码决定的,我们在后面一小节会介绍到。 巡线原理: 怎么让小车一直跟着线走呢?我们需要让小车一直处于轨道的中间位置,一旦偏离轨道后,就进行自我调整。通过这3个巡线传感器就是来确定线的位置的。 小车在巡线的过程中,会出现以下三种情况: (a)小车刚一开始放入轨道的时候,只有中间的传感器检测到黑线了,左右两侧的传感器均没有检测到黑线,此时小车处于轨道的中间位置,所以小车执行前进。 (b)走着走着,发现小车走偏了,中间传感器不在轨道上,左测传感器检测到黑线了。说明此时,小车处于黑线的右侧,所以需要让小车执行左转,进行自我调整。直到恢复中间传感器检测到黑线位置,小车才停止左转,恢复前进的状态。 (c)相反,一旦右边传感器检测黑线了,说明小车偏离到黑线的左侧,此时需要让小车执右转了。和b情况一样,直到中间传感器检测再次检测到黑线时,才停止执行右转。 代码回顾: 基础功能重复部分就不说了,只说下巡线部分的。
用三个变量RightValue,MiddleValue,LeftValue分别记录3个传感器读到的值,digitalRead(pin)函数就是用来读取数字口的值,不明白的可以查看下语法手册 。 巡线传感器检测到黑线后,输出一个低电平,检测到白线,输出一个高电平。 下面这段代码描述的是巡线原理中的情况a。如果中间传感器检测到黑线,也就是输出为LOW。或者左右两侧传感器检测到白,也就是输出为HIGH时。小车执行前进。
如果一旦左边检测黑线,同时右侧检测到白线的时候,小车左转,也就是情况b:
相反,右边检测黑线,同时左侧检测到白线的时候,小车右转,也就是情况c:
大改造: 其实看上去很复杂的机器人是不是也不是很难?巡线传感器改造一下可以用来做防跌落小车,如果你家是上下两层的,那就可以做个这样的防跌落小车,一旦走到楼梯口,就自动避开,不会摔个“四脚朝天”了。 |
2.58 KB, 下载次数: 2642
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed