读取声波测距模块

什么测距模块是根据声音的回声效应,来测算出前方障碍物的距离。在现实中的蝙蝠也是通过此方法来识别障碍物,下面我们来看下它的工作原理图:

声波测距图

我们先来认识下声波模块的4个针脚,分别是:

  • Vcc 是接5V直流电的正极。
  • Trig 是接收树莓派给的电平信号,然后转成声波发送出去。
  • Echo 是接收返回的声波信号,然后转成电平信号给树莓派。
  • GND 是接5V直流电的负极。
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)

TRIG = 36
ECHO = 35

GPIO.setup(TRIG, GPIO.OUT)
GPIO.setup(ECHO, GPIO.IN)

try:
    while True:
        GPIO.output(TRIG, 0)
        time.sleep(0.01)

        GPIO.output(TRIG, 1)
        time.sleep(0.00001)
        GPIO.output(TRIG, 0)
        start = time.time()

        while GPIO.input(ECHO) == 0:
            start = time.time()

        while GPIO.input(ECHO) == 1:
            stop = time.time()

        distance = (stop - start) * 34000 / 2 #声波的速度是340m/s
        print distance
except KeyboardInterrupt:
    GPIO.cleanup()