M.A.R.K|用巡线传感器实现小车巡线

2020-05-318515
AI 快速预览详细 收起
本文介绍了如何使用M.A.R.K小车的巡线传感器实现小车沿地图上的黑线行走。首先介绍了巡线传感器的工作原理,然后详细说明了软件安装、连接电脑和编写代码的过程。通过测试程序确定了D5和D6引脚分别对应右侧和左侧巡线传感器,并编写了完整的巡线代码。适合STEM教育场景,帮助孩子理解传感器工作原理并动手实践。

M.A.R.K 小车组装好后就可以编写程序让它跑起来了。这里我们尝试用巡线传感器让小车沿着地图上的黑线行走。

巡线传感器原理介绍

巡线传感器是一种利用红外线的物理性质来测量的传感器。小车在巡线时,巡线传感器会发送红外线,经过地图反射后,再被巡线传感器接收到。由于黑白两色对红外光的吸收比例是不一样的,所以小车可以判断经过了黑色区域还是白色区域。

软件安装


M.A.R.K 小车使用的图形化编程软件是 CodeCraft,可以在 https://ide.tinkergen.com/download/cn 找到相应的版本后下载安装。

你也可以不安装桌面客户端,直接使用网页版进行编程。网页版地址为:https://ide.tinkergen.com ,上图即为网页版编程界面。不过因为需要连接设备,所以需要根据提示下载安装设备助手。

连接电脑

使用 Type C 数据线连接电脑和小车上的 cyberEye 主控板。连接后电脑会自动安装驱动。驱动安装好后我们选择界面左上角的【切换设备】按钮。

在设备列表中选择【 M.A.R.K(cyberEye)】。

点击【连接设备】。

在弹出的窗口中选择数字较小的端口号。这里选择【COM4】。

下面就可以开始编写代码了。

测试巡线传感器

因为巡线传感器接到了 D6|D5 接口,我们无法判断左右两侧的巡线传感器对应接口分别是哪个。而且我们还要测试一下,巡线传感器遇到黑色时读数是 1 还是 0。所以我们用一段简短的程序来试一下。

到【系统】分类下将【当启动时】、【等待(1000)毫秒】、【数字读取引脚(D4)】、【图表打印()()()()】这几句指令拖到代码编写区。

到【控制】分类下拖出【重复执行】。

完整代码如上所示,每隔一秒打印 D5 和 D6 引脚的值。接下来依次点击左侧的【上传】和【串口图表】按钮。

打开小车的电源,将巡线地图放在小车巡线传感器下方,观察图表数据的变化。

观察可知,巡线传感器遇到黑色是 1,遇到白色是 0。接下来移动巡线地图,使得右侧在黑线上,左侧在白色区域,再观察图表变化。

综合分析可以得出结论:D5 是右侧巡线传感器,D6 是左侧巡线传感器。遇到黑色是 1,遇到白色是 0。

巡线原理

我们考虑几种情况:

  1. 左侧黑,右侧黑。说明小车在黑线上,保持直行。
  2. 左侧黑,右侧白。说明小车在黑线右侧,需要左转纠偏。
  3. 左侧白,右侧黑。说明小车在黑线左侧,需要右转纠偏。
  4. 左侧白,右侧白。说明小车不在线上,尝试倒退。

编写代码

对照巡线的原理,编写代码如下:

测试运行

将代码上传到小车,放到地图上测试。



这是常规红外巡线的效果,下一次我们来尝试用计算机视觉巡线。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -