树莓派超声波测距实验

来源:互联网 发布:网络教育好吗 编辑:程序博客网 时间:2024/04/28 06:05
1、HC-SR04 管脚介绍

VCC,超声波模块电源脚,接5V电源即可
Trig,超声波发送脚,高电平时发送出40KHZ出超声波
Echo,超声波接收检测脚,当接收到返回的超声波时,输出高电平
GND,超声波模块GND
2、树莓派管脚介绍

第2只脚为5V,给超声波模块供电
第39只脚为GND,与超声波模块共地
第1、3只脚分别为GPIO2和GPIO3,分别作发送和接收用,分别于Trig和Echo相连接。
效果图如下:

编写python脚本
cd  /home/pi/test
nano hc_sr04
代码如下:

点击(此处)折叠或打开

  1. #! /usr/bin/python
  2. -*- coding:utf--*-

  3. import RPi.GPIO as GPIO
  4. import time

  5. def checkdist():

  6.         #发出触发信号
  7.         GPIO.output(2,GPIO.HIGH)
  8.         #保持10us以上(我选择15us)
  9.         time.sleep(0.000015)
  10.         GPIO.output(2,GPIO.LOW)
  11.         while not GPIO.input(3):
  12.                 pass
  13.         #发现高电平时开时计时
  14.         t1 = time.time()
  15.         while GPIO.input(3):
  16.                 pass
  17.         #高电平结束停止计时
  18.         t2 = time.time()
  19.         #返回距离,单位为米
  20.         return (t2-t1)*340/2
  21. GPIO.setmode(GPIO.BCM)
  22. #第3号针,GPIO2
  23. GPIO.setup(2,GPIO.OUT,initial=GPIO.LOW)
  24. #第5号针,GPIO3
  25. GPIO.setup(3,GPIO.IN)

  26. time.sleep(2)
  27. try:
  28.         while True:
  29.                 print 'Distance: %0.2f m' %checkdist()
  30.                 time.sleep(0.5)
  31. except KeyboardInterrupt:
  32.         GPIO.cleanup()

注意缩进,截图:


ctrl +o 保存
回车
ctrl +x 退出
3、运行
python  hc_sr04
执行效果如下:

ctrl+c退出

整体来说精度还是不错的,可以用于家中防盗检测
0 0
原创粉丝点击