|
树莓派通过HC-SR04超声波模块进行距离测试
有时候我们会需要知道前面障碍物的距离,例如汽车倒车,扫地机器人等等。这个时候就可以用到我们树莓派上安装的HC-SR04超声波测距模块了。通过这个模块上的4个引脚就能把信号收集到树莓派上进行测试统计和显示。HC-SR04超声波模块四个脚从左往右分别是VCC电源正极,他的工作电压大概在5V左右,所以这个脚要安装在树莓派的GPIO2的针脚上面。而第二只脚为TRIG信号触发发射信号针脚,因为是需要采集的信号信息所以需要连接在GPIO15针脚上面。第三只脚为ECHO,也就是输出响应和感知的信号脚,可以接到GPIO16号脚上面进行型号的输出操作。第四只脚,也就是电源负极接口只需要接到树莓派GPIO的负极上面即可,这里我们接到的是GPIO6号脚上面。
硬件准备
完成上面连接后就可以编写PYTHON代码来采集距离了,PYTHON超声波测距代码如下;
import time
import RPi.GPIO as GPIO
def check():
GPIO.output(23,GPIO.HIGH)
time.sleep(0.000010)
GPIO.output(23,GPIO.LOW)
while not GPIO.input(24):
pass
t1 = time.time()
while GPIO.input(24):
pass
t2 = time.time()
return (t2-t1)*340/2
GPIO.setmode(GPIO.BCM)
GPIO.setup(24,GPIO.IN)
GPIO.setup(23,GPIO.OUT,initial=GPIO.LOW)
//开始正式去活动距离信息
try:
while True:
print 'distance is %0.2f m' %check()
time.sleep(3)
except KeyboardInterrupt:
GPIO.cleanup()
总结
这次实验使用的是HC-SR04模块Trig脚连接树莓派23(BCM),树莓派3B最新版,python版本是2.7.9,Echo输出连接到树莓派24(BCM)针脚上。最后测试通过一本书,和一本纸盒来挡住HC-SR04的信号就能知道真实的距离,但是误差大概有3厘米的样子。