2015年07月08日 星期三 07:41
大家肯定都听说过超声波测量距离的技术方案。上小学时,我就学过蝙蝠在飞行过程中,会不断向前发出超声波,来侦测前方是否有障碍物,聪明的人们便据此发明了雷达技术。
我手头上有一个国产的超声波测距模块,型号是HY-SRF05,淘宝上5块钱买到的。
此超声波测距模块所发射的超声波频率为40KHz,最短测量距离为2厘米,最长测距约为4.5米。
此模块的工作原理如下:
1,单片机向模块的Trig端口输出一个大于10微秒的高电平信号。
2,模块发送8个40KHz的超声波信号,并检测反射回来的信号。
3,当模块检测到反射信号后,向Echo口输出高电平,持续时间就是超声波发出到返回的时间。
4,单片机根据Echo口高电平的时间计算出距离。
我使用Arduino Pro Mini作为主控制器来做实验,电路连接关系如下:
Arduino 超声波模块
D12 Trig
D11 Echo
GND GND
+5V Vcc
我们可以将Arduino自带的Ping示例改装一下应用于SRF05模块:
也可以使用第三方提供的NewPing库来驱动SRF05模块:
根据我的实际测试,我认为误差在2CM左右,还是比较不错的,可以应用于大多数要求不是特别精确的场景。
更多参考资料:
https://www.arduino.cc/en/Reference/PulseIn
Zeuux © 2024
京ICP备05028076号