超声波

# !/usr/bin/python
#coding:utf-8

import RPi.GPIO as GPIO
import time

Trig = 17
Echo = 27
#设置编码模式
GPIO.setmode(GPIO.BCM)
GPIO.setup(Trig, GPIO.OUT, initial = GPIO.LOW)
GPIO.setup(Echo, GPIO.IN)

time.sleep(2)
try:
while True:
#先给它一个高电频
GPIO.output(Trig, GPIO.HIGH);
time.sleep(0.001);
#再给它一个低电频
GPIO.output(Trig, GPIO.LOW);
while GPIO.input(Echo) == 0:
pass;
t1 = time.time();
while GPIO.input(Echo) == 1:
pass;
t2 = time.time();
len = (t2-t1)*340/2;
print 'distance: %.3f m'% len;
time.sleep(0.5);
except:
pass;

GPIO.cleanup();

原文地址:https://www.cnblogs.com/countryboy666/p/10964072.html