完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
什么是会思考的避障车?
在日常生活中,大家会经常见到各种各样的遥控车,它需要我们人为的操作,控制它的前进、后退和转弯。今天就带大家认识一个不一样的新朋友——会思考的避障车。 会思考的避障车和我们平时的遥控车最主要的区别就是智能化,它可以不需要我们去操控,自己就能行走。同时它还会实时检测前方是否有障碍物,思考自己是否要前进或者转弯。 听到这里,是不是已经跃跃欲试了呢。话不多说,动起手来吧! 所需器材: Ø TurnipBit开发板 1块 Ø 下载数据线 1条 Ø 智能小车套件 1套(底盘、车轮、电机等) Ø 超声波模块(HC-SR04)1个(用作小车的“眼睛”) Ø L298N电机驱动模块 1个 Ø 接入互联网的电脑 1台(推荐使用Google Chome或者Firefox浏览器) 超声波模块共4个引脚,分别是VCC、GND、Trig和Echo。VCC接TurnipBit扩展板的+5V引脚,GND接TurnipBit扩展板的GND引脚,Trig触发引脚接P5,Echo回传引脚接P8。 L298N电机驱动模块左侧OUT3、OUT4接线端子对应接入左轮电机的下侧、上侧侧铜片,右侧也是。L298N的输入端IN1、IN2、IN3、IN4分别接入扩展板的P19、P13、P12、P11。 详细见下表:
让我们先用伪代码来分析一下避障车的程序逻辑。首先,我们通过小车的超声波模块来检测前方是否存在障碍物,计算出与障碍物之间的距离。当与障碍物的距离小于或等于我们预设的安全距离时,控制小车进行转向避开障碍物;当与障碍物的距离大于我们预设的安全距离时,控制小车进行继续前进;逻辑顺序如下: 第一步,触犯超声波模块开始检测; 第二步:计算出与前方障碍物的距离; 第三步:判断与障碍物的距离是否小于设定的安全距离; 第四步:若小于或等于则进行转向,避开障碍物; 第五步:若大于则继续保持前进。 根据伪代码,画成流程图如下: 整体的拼插代码如下图:具体怎么一步一步拼插就不写了。 将程序名修改成turnipbit-car,点击【下载hex】按钮将程序保存到电脑里。 把保存的turnipbit- car.hex文件拖入TurnipBit磁盘中,我们会看到TurnipBit板子上的灯在闪烁,说明正在下载到控制板中。 下载成功后,将TurnipBit正确插入TurnipBit扩展板的金手指卡槽内,开始启动避障车吧。 会思考的避障车整体代码,可参考右侧代码显示区,如下。 from microbit import * 接下来,我们一起来分析一下代码。 通过上面的代码,不难发现,控制避障车前进的代码部分我们重复编写了两遍,在实际项目中这种写法是不合理的。为了让代码更加简洁,优雅,我们将控制前进的代码部分提取出来建立名称为Go()的函数,在需要执行前进的地方直接调用Go()函数即可。 from microbit import * 按照同样的方式,我们将控制转向和检测障碍物的代码分别建立Turn()和Detection()函数。 from microbit import * |
||
相关推荐
|
||
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
203 浏览 0 评论
761 浏览 0 评论
806 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
743 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1195 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11806 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 19:17 , Processed in 0.606283 second(s), Total 63, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号