找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1661|回复: 0
打印 上一主题 下一主题
收起左侧

Arduino~smartcar自动寻线小车 求编程思路

[复制链接]
跳转到指定楼层
楼主
ID:571271 发表于 2019-6-24 22:59 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求用Arduino编写的思路。想自己制作出来.用于smartcar的自动寻线行驶,躲避碰撞,和防止跌落。

具体要求:
                          7.1 自动寻线行驶
自动寻线行驶是 SmartCar 可以实现的一项基本应用。小车可以在白色的地板上沿着宽约 2.5cm 的黑色轨迹(黑线)自动向前行驶。实现这一应用,需要使用到SmartCar 中的红外传感器。在前面的章节中,我们介绍过了,红外传感器可以判断地面的颜色和反光条件,如果是黑色轨迹,则会吸收红外光线,传感器接收管接受不到反射回来的红外光线。如果是白色地面,则会反射红外光,传感器接收管就能够检测到红外光线。通过 6 个传感器就可以知道黑线在哪里了。跟随黑线行驶的方案可以有很多种,可以利用前面 5 个传感器判断黑线的大致位置,一种比较简单和直观的思路是:
如果是最左边的传感器检测到黑线,其他传感器都检测到白色地面,说明小车比较严重的偏向黑线右边,这时候需要大幅度的向左转弯;
如果左边第二个传感器检测到黑线,说明小车偏向黑线右边,但不是很严重,只需要小幅度的左转弯就可以了;
如果是中间的传感器检测到黑线,说明小车可能正在沿着黑线行驶,这时候可以以不太快的速度直行,如果下面的传感器同时检测到黑线,说明小车一定沿着直线行驶,可以以较快速度直行。通过上面这个简单的思路,经过对速度调整,基本上就可以实现不太苛刻的条件下的自动黑线寻迹行驶了。
                7.2 碰撞躲避与防止跌落功能
最近,智能扫地机器人非常流行,扫地机器人除了清扫功能之外,还必须具备躲避障碍物和防止从楼梯跌落的功能。而 SmartCar 在形状和功能上都有点像扫地机器人,通过前后一共 6 个碰撞开关,SmartCar 可以在多个方向的前进以及
较少方向上的后退行进中检测到障碍物,一但遇到障碍物,SmartCar 可以先后退一点,然后根据碰撞的位置决定旋转角度,然后继续行进。因为 SmartCar 后置的碰撞开关只有 2 个,因此后退的时候尽量走直线,以免障碍物无法碰撞到开关上去。防止跌落功能可以使用前置的 5 个红外传感器来实现,上一节说到,红外传感器可以检测到浅色地面,如果遇到台阶,红外光线能够被反射回来的就很少了,因此一但检测到没有红外光返回,就可以认为是遇到了台阶或者边缘。这时候就和碰到了障碍物一样,后退一点点,然后根据传感器位置进行旋转,然后继续行进。通过上面两点,就可以实现和扫地机器人一样的躲避障碍和防止跌落的功能。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表