树莓派控制HC-SR04超声波模块测距警报

HC-SR04超声波模块看上去很cool,我开始以为是机器人头部,有两个漂亮的眼睛。

HC-SR04共有四个管脚:

  • VCC 接 5+ 电源
  • GND 接地
  • Trig 接 GPIO端口
  • Echo 接 GPIO端口

测试角度位15度(测试范围位一个圆锥,横切面顶角位30度),工作电流15mA,测试范围位 2cm~45cm。

工作原理:
通过GPIO向 Trig 引脚发送 一个大于 10 us(1微妙=0.001毫秒=0.000001秒)的脉冲,即从低电平跳转到高电平,等待10us后,再跳回低电平。此时模块回自动发出8个40KHZ的声波脉冲,当声波返回被模块接受后,模块又会通过 Echo 管脚向树莓派第二个GPIO口发送一个脉冲,脉冲的持续时间等于声波发送到返回的时间。

我们知道声音的速度为 340M/s,声波来回的时间 x 声速 / 2 就能得出测试距离。

我使用树莓派GPIO接口驱动超声波模块,测量距离,并根据距离用蜂鸣器发出不同频率的警报。(功能有点类似倒车雷达)
代码: https://github.com/kongove/toys/blob/master/RaspberryPi/sound-wave-alert.py
演示
视频:
http://player.youku.com/player.php/sid/XNzAxOTU2OTcy/v.swf

超声波时序图:

shengboshixu

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.