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
代码如下:
注意缩进,截图:
ctrl +o 保存
回车
ctrl +x 退出
3、运行
python hc_sr04
执行效果如下:
ctrl+c退出
整体来说精度还是不错的,可以用于家中防盗检测
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
代码如下:
点击(此处)折叠或打开
- #! /usr/bin/python
- # -*- coding:utf-8 -*-
-
- import RPi.GPIO as GPIO
- import time
-
- def checkdist():
-
- #发出触发信号
- GPIO.output(2,GPIO.HIGH)
- #保持10us以上(我选择15us)
- time.sleep(0.000015)
- GPIO.output(2,GPIO.LOW)
- while not GPIO.input(3):
- pass
- #发现高电平时开时计时
- t1 = time.time()
- while GPIO.input(3):
- pass
- #高电平结束停止计时
- t2 = time.time()
- #返回距离,单位为米
- return (t2-t1)*340/2
- GPIO.setmode(GPIO.BCM)
- #第3号针,GPIO2
- GPIO.setup(2,GPIO.OUT,initial=GPIO.LOW)
- #第5号针,GPIO3
- GPIO.setup(3,GPIO.IN)
-
- time.sleep(2)
- try:
- while True:
- print 'Distance: %0.2f m' %checkdist()
- time.sleep(0.5)
- except KeyboardInterrupt:
- GPIO.cleanup()
注意缩进,截图:
ctrl +o 保存
回车
ctrl +x 退出
3、运行
python hc_sr04
执行效果如下:
ctrl+c退出
整体来说精度还是不错的,可以用于家中防盗检测