我是潘,曾经是个工程师。这是为 http://Ardui.Co 制作的 “Arduino 公开课” 系列的
超声波测距的原理是发射声波,声波遇到物体反射,模块接收,得出时间差,然后根据声速计算出物体距离。其应用非常之广,如现场测距,无人机避障、汽车雷达等,而且价格极为低廉,库成熟,是最常用的模块。这次我们介绍的是 HC-SR04、HC-SR05:
该模块一共有Vcc、GND、Trig 和 Echo,4个引脚。Arduino 通过 Trig 引脚给模块,不少于10us 数字信号(高电平),触发模块发射出 40KHz 的超声波,接收到返回声波后,Echo 输出高电平,根据触发和输出的时间差,就可以换算出距离。但我们不需要设计换算程序,因为这个模块有现成的库可以用,调用库里的方法即可。模块参数如下:
测量距离:2 ~ 450cm
分辨率:0.3cm
测量频率:40Hz(最快每25ms测量一次)
测量角度:15deg
工作电压:4.5 ~ 5.5V
工作电流:10 ~ 40mA
该模块实际测量距离约为 200cm,而且经常会有严重的漂移现象,因此建议多次采样,使用中位数,可以保证测量正确。
接线方式很简单:
开发程序之前,我们需要先下载 NewPing.h 库,这个库不在官方的索引里