本例程是利用树莓派和超声波HC SR04模块进行测距,原理同使用其他的单片机,只不过在这是用Python脚本来完成。
我使用的是树莓派3代
接线:
树莓派3的第2只脚为5V,与超声波模块VCC连接,为其供电。
树莓派3的第39只脚为GND,与超声波模块GND连接,共地。
树莓派3的第3只脚为GPIO2,与超声波模块Trig连接,接受数据。
树莓派3的第5只脚为GPIO3,与超声波模块Echo连接,发送数据。
#! /usr/bin/python # -*- coding:utf-8 -*- import RPi.GPIO as GPIO import time def checkdist(): GPIO.output(2,GPIO.HIGH) 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) GPIO.setup(2,GPIO.OUT,initial=GPIO.LOW) 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()