基于Arduino的倒车雷达设计

2018-05-08 13:20秦博晟
电子技术与软件工程 2018年22期

秦博晟

摘要 介绍基于Arduino的一种倒车雷达设计方案,包括系统的设计原理、实验材料、硬件设计、软件设计及测试流程。该设计基于超声测距原理,以Arduino为主控板,应用HC-SR04超声波测距模块、无源蜂呜器报警模块及共阴数码管显示模块,以超声波实现倒车雷达实时显示距离数据、距离过近报警等功能。经测试所有功能系统运行稳定,该设计简单、易行、成本低廉,具有一定的实用价值。

【关键词】Arduino开发板 倒车雷达 超声测距

Arduino是2005年1月由米兰交互设计学院的两位教师David Cuartielles和MassimoBanzi聯合创建,一块基于开放原始代码的Simple I/O平台。现己成为较为流行的电子互动平台。其基于单片机系统开发,具有使用简单、功能多样、价格低廉等优点,广泛应用于电子系统设计和互动产品开发等方面。它的功能极其丰富,能进行多种开发,制作出多种简易模型。Arduino硬件被封装为多个单独的模块,各个模块间使用杜邦线进行连接,拥有较为简易的硬件组装方式。Arduino的IDE软件开发环境拥有类似于C语言的开发环境和语言习惯,使其更容易上手进行编程,实现各种功能。

本文介绍使用Arduino开发板实现简易倒车雷达系统,该系统基于超声波测距原理实现并辅以实时显示距离数据、距离过近报警等功能,有利于提升车辆的行车安全,在倒车时对司机进行一定的辅助,降低因车辆的视野盲区而发生交通事故的几率。

1 设计原理

本倒车雷达系统使用Arduino开发板连接超声波发射及接受器、数码管及蜂鸣器实现车辆与障碍物间距离的测量、显示及在距离过近时进行报警。Arduino开发板根据超声波发射及接受器所传入的时间差数据,计算出障碍物与车辆之间的距离,并将此数据中的分米整数值取出,传出至数码管显示,同时对计算出的距离值进行判断,若小于临界值,则触发蜂鸣器进行报警。

2 实验材料

共阴数码管*1、面包板*1、面包板跳线若干、无源蜂鸣器*1、Ariduino开发板*1、超声波发射器+l、超声波接受器+l。

3 硬件设计

3.1 超声波测距

超声波是一种超出人类听觉极限的声波,即其振动频率高于20 kHz。其具有频率高、波长短、衍射小、方向性好等优点,且传播时的能量消耗缓慢、有利于实现测距。

本实验使用HC-SR04超声波测距模块,其分为超声波发射器、接收器与控制电路,可提供2cm-400cm的非接触式距离感测,测距精度高达jmm。

用于测距的超声波频率应取合适值,大约40kHz为益。若所用超声波频率过高,则其在空气中传播时,会加剧空气分子的摩擦,导致其有较大的能量损耗,使同功率下测距的最大距离较短;若所用超声波频率过低,则其易受使用环境中噪声干扰,且受其定向性及波长较长产生的衍射影响,会导致测量精度的下降。

超声波测距的原理:先向超声波模块脉冲触发引脚(trig)加高电平,触发超声波发射器向某一方向定向发射超声波,在发射超声波的同时开始计时,同时回波检测引脚(echo)变为高电平;超声波经空气传播,在遇到障碍物时因反射立即返回;利用超声波接收器接收返回的超声波,当返回的超声波被模块接收时,回波检测引脚(echo)变为低电平,触发计时器立刻停止计时,利用所记录的时间差和当前环境下的声速即可计算出超声波源与障碍物之间的距离,如图1所示。常温下超声波在空气中的传播速度为v = 340 m/s,计时器记录的时间差为At,可计算出发射点距障碍物的距离S,公式即:

S=v*△t/2

高频率重复上述过程,即可实现超声波的连续测距。

3.2 共阴数码管

基本组成单元是LED。所有LED的阴极共同连接形成公共阴极(COM)。使用时公共极COM接地,当某一字段LED的阳极为高电平时点亮;为低电平时熄灭。

使用共阴数码管作为倒车雷达的距离显示装置,具有成本低廉、功耗较低,体积较小等优点,且数据直观易于快速读取。

3.3 无源蜂鸣器

是内部不带震荡源的一种蜂鸣器,须用音频信号驱动,只通直流电源无法令其呜叫。

使用无源蜂鸣器作为倒车雷达的距离过近的报警装置,具有成本低廉、功耗较低,体积较小等优点,且将距离数据转换成为音频信号利于司机对危险的快速反应。

3.4 硬件接线示意图

如图2所示。

4 软件设计

4.1 共阴数码管显示距离

显示数字时,只要将相应笔段点亮即可。将每个数字需要点亮的笔段写入程序中,将数字所需点亮的笔段输出高电平,其他笔段输出低电平,即可显示数字。根据超声波测量距离的大小,对距离保存到分米单位,并将其输入至共阴数码管中,即可显示距离。

4.2 蜂鸣器报警

对每次测量的距离进行判断,若小于预设距离,则对蜂鸣器加高电平,否则加低电平,即可实现报警功能。

5 测试流程

本系统通电初始化后,超声波发射器先发射超声波,同时记录发射超声波的时刻;超声波遇到障碍物后,会因反射立即返回,由超声波接收器接收返回的超声波,同时记录接收到返回波的时刻。将记录的时刻通过超声波测距的算法,计算出倒车雷达与障碍物之间的距离,输入至Arduino开发板中,并取分米整数值输出至共阴数码管上进行显示,同时对所测定的距离大小与所设置的临界值进行比较,若小于临界值,则触发蜂鸣器进行报警(图3)。高频率重复上述过程,即可实现即可实现倒车雷达连续测距、显示及报警等功能。

6 结论

所设计的简易倒车雷达系统能够准确计算出车距离障碍物的远近,为司机倒车提供了很大帮助,超声波测距设备可以准确测量距离并且在数码管上显示。当车到障碍物的距离小于预设距离时,系统的蜂鸣器就会发出蜂鸣声报警。本文提出的方案能对希望使用Arduino开发板实现上述功能的人员提供一定的思路,对Arduino开发环境的应用有一定的参考价值。

参考文献

[1]甘本祓,微波传输线设计手册[M].北京:人民邮电出版社,1981.

[2]甘本祓,吴万春.现代微波滤波器的结构与设计[M].北京:科学出版社,1973.

[3]蔡睿妍.Arduino的原理及应用[J],电子设计工程,2012,20 (16):1.

[4] HC-SR04超声波测距模块说明书[K].2017.