【玩转KittenBot】KittenBot基础套件之避障小车-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3598|回复: 0

【玩转KittenBot】KittenBot基础套件之避障小车

[复制链接]
发表于 2017-8-24 15:01 | 显示全部楼层 |阅读模式
KittenBot基础套件里包含有超声波模块和舵机模块,用户可以将KittenBot搭建成超声波避障小车。不但如此,KittenBot还可以搭建成绘图机器人,这也是我们基础套件的特色之一——能根据用户的需要扩展成各种各样的形态。
1502960906137-upload-5713df33-d50a-4f32-8ce4-9b4b3bd6a771.png
相信大家都已经按照说明书组装好KittenBot超声波避障小车。这里我就不再啰嗦了,直接跳到软件部分吧。
例程1
第一步
启动超声波模块,不断发送障碍物的距离信息给Kittenblock。
1502961019582-upload-1a971011-04c2-4206-9d21-7348d9a4c9b7.png
这里我们新建了一个变量叫“距离”,不断读取障碍物的距离。
第二步
由于超声波读取回波是需要一定时间的(声音在空气中的传播速度为340m/s),所以我们在接下来设置避障的距离需要稍微加大,比如说设置小于20cm就开始避障
1502961088222-upload-d920e164-9b69-450c-9999-656cbb5ff2c8.png
第三步
如果距离少于20(遇到障碍物):小车转一个角度后继续判断结果。
如果距离大于20(前方没有障碍物):小车前进。
1502961150507-upload-d47b52c3-1dd2-47c7-821f-603e9a794e96.png
确保kittenblock已经无线连接上KittenBot,点击“绿旗”。小车就开始工作了!
这种方法虽然简单,但是碰撞障碍物的几率很高。合理运用舵机模块控制超声波的方向,让小车完美避障。
例程2
假设在遇到障碍物后,先让舵机往左右两个方向检测距离,再选择往左走,往右走,还是往后走。
第一步
舵机连接如下图
1502961467338-upload-7a732e0d-118e-4a56-b538-e074c1e8c3d3.png
第二步
调节超声波转接板和舵机的角度,先将舵机的角度调整到90度,再将超声波转接板正对前方安装在舵机接口。
1502961479209-upload-5c3baa04-ee3e-4a77-beec-28f553d559e0.png
1502961488915-upload-7047d909-0b04-40b6-ac6b-23dd92e0ea25.png
第三步
将上述的方法转化成图形化的模块
(1)遇到障碍物,小车停止,将舵机向左转动90度,延时1秒等待舵机位置稳定,读超声波探测的距离。否则,小车前进。
1502961528854-upload-996468fc-240a-456f-bd2f-20ff6e41b0ab.png
(2)探测小车左边的距离大于20,小车转左。
距离小于20,控制舵机探测小车右边距离。
1502961540960-upload-98f7d36c-cbd5-4f95-8f7a-0bfce5f7ab14.png
(3)探测小车右边的距离大于20,小车转右。
距离小于20,即小车前面、左边、右边都有障碍物,小车自转180度。
1502961589600-upload-5490c51a-f752-4b88-9fa9-3c10852c1bcb.png
(4)给予小车转弯0.3秒后停止电机并控制舵机位置返回90度(等待0.1秒给予舵机转动时间)
1502961753526-upload-6a23602c-9bbe-4104-8f16-71bff5438929.png
(5)重复执行
给出程序总图
1502962208715-upload-5c2c015a-824b-4dfb-a254-21cb095038f7.png

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

本版积分规则

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

GMT+8, 2024-12-1 01:16 , Processed in 0.167859 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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