【迷你巡线小车】迷你巡线小车使用教程6-扩展成避障小车-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3195|回复: 0

【迷你巡线小车】迷你巡线小车使用教程6----扩展成避障小车

[复制链接]
发表于 2017-8-10 12:22 | 显示全部楼层 |阅读模式
一直看着迷你巡线小车巡线,觉得无聊?不要紧,小车除了可以巡线之外,还可以改装成避障小车,只要在下图所示插座装上超声波模块,并配合WIFI模块就OK了。
1.png
在这里隆重介绍我们喵星人自主研发的猫头超声波。
2.png
它的特点是长得萌,测量距离稳定,准确,头上的俩盏RGB灯能够作为指示灯用。
秀两张gif图给大家看一看。
[img][/img] 33.gif
来个避障的图
44.gif
5.png
超声波的工作原理如下
①采用I/O触发测距,给至少10us的高电平信号;
②模块自动发送8个40kHZ的方波,自动检测是否有信号返回;
③有信号返回,通过I/O输出一高电平,高电平持续的时间就是超声波从发射到返回的时间。
6.png
看完原理后是不是觉得有点头晕。
7.png
别担心,其实大部分操作都由超声波传感器自动完成,我们要做的操作很轻松,而且喵星人已经帮你们这群怕麻烦的地球人简化成了一个kittenblock的功能模块。
就是这个Distance模块
8.png
在有装上超声波的情况下,只要点击模块,就会显示超声波与障碍物之间的距离(单位是厘米)
超声波的大概原理和使用方法到此为止,接下来是讲解小车避障程序应该怎么写。
首先,小车在行进过程中,不断用超声波探测前面的距离,翻译成图形化程序如下图
9.png
(因为由启动超声波到读取超声波返回的距离需要一定的时间,这里选择每10毫秒读取一次)
我们可以设置当超声波探测的距离小于10cm时,代表小车前面有障碍物
10.png
问题来了,当遇到障碍物之后我们应该给予小车下达什么命令才能让它不撞上去呢?
教大家一种最简单的方法,小车每一次遇到障碍物后先静止,然后向左转90度,用超声波检测小车前面的距离,如果大于10cm就前进,如果小于10cm侧继续向左转90度,重复如此。

11.png
可能某些大神看了这个教程会有种智商被侮辱了的感觉,但是这种方法非常管用。
那么我们翻译一下上面的方法吧
12.png
由于速度设置不一样,所以具体转90度是多少时间本喵星人也不知道。其实原地转弯多少度不要紧,最终能实现避障效果就行。
放上总图
13.png
放上视频给大家看一下这萌蠢的避障小车吧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-9-20 17:01 , Processed in 0.137892 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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