本帖最后由 rmq 于 2024-11-29 14:40 编辑
【导语】
今天我们结合硬件来实现倒车报警装置的制作。在车身尾部安装超声波模块对车后的障碍物进行距离监测。
这次使用两块未来板lite,一块作为小车的主控,另一块作为遥控器对小车进行遥控控制。
【材料准备】
【功能概述】
这里只讲重点,小车在倒车时需要完成两件事情。 一:如果达到倒车距离的阈值,则触发报警,并且报警声会随着距离的缩小而变得局促。 二:在屏幕上显示倒车的距离,使用不同色块的颜色来表示小车与障碍物的距离,力求效果的真实还原。
【编程软件使用】
【前期准备】
小车接线&拼搭: 由于本次案例不包含巡线功能,所以图纸中出现的灰度和激光测距模块可以忽略, 可以看到小车的左轮接M2接口,右轮接M1接口,超声波接M4接口。(具体的拼装过程可以参考套件说明书,这里不展示细节) 遥控端接线: 把摇杆模块连接到I2C接口即可。
【程序编写】
【遥控端程序】
遥控端使用板载自带的2.4g无线通讯,无线广播频道设为1。 程序中用摇杆控制小车前进、后退、左右转和停止五个状态,每个状态都会对小车端发送消息,小车端接收后会产生相应的动作。
完成后会有以下简单的效果。
【小车接收端程序】
首先看初始化程序,先设置无线广播频道为1。并且在屏幕上模拟倒车雷达的显示屏幕。完成后的程序和效果如下:
之后在主程序中用【超声波距离】变量和【遥控数据】变量分别存储超声波的检测距离和无线广播的消息。 之后创建函数分别设置小车的运动情况。如果【遥控数据】变量中接收到的消息为g(英文go的首字母),则代表小车前进。如果为r(right)或者l(left),则小车原地右转或者左转。 注意,小喵这里两个电机的速度不等大且方向相反,这里原因小喵就不解释了,在公众号【KittenBot小喵】文章(例如:社恐机器人)解释过这个问题。
接下来是小车的重点内容,在小车后退程序中如果超声波检测障碍物的距离大于5,则保持慢慢倒车的速度,如果离障碍物特别近,会自动触发停车。
在真实的倒车报警装置中,车离障碍物越近,倒车的警报越急促,这里我使用设置蜂鸣器旋律的积木来实现,这个积木有两个参数,一个是旋律曲调,一个是bpm拍子数。 由于旋律不是重点,这里就简单解释一下:g4:1为so的第四八度,r为休止符,d4:1为re的第四八度。bpm的设置数字越大,代表节拍越多,节奏也就越快。 这里程序的效果是如果倒车距离小于18cm,则触发报警,通过算式使bpm的值随着距离的减小而增加,以满足真实效果。这样一来倒车的警报部分我们就完成了。
由于倒车时车内的显示屏会显示与障碍物的距离,距离的远近会用不同颜色来表示。 如果距离小于8则在屏幕底部显示红色,小于13则橙色,小于18为黄色,如果没有达到报警距离则为绿色。 最后小车停止的程序不要忘记。到此所有程序就编写完成了。 【功能演示】
🚗智能升级,安全无忧!超声波倒车检测装置
|