树莓派控制HC-SR04超声波测距传感

作为最常见的传感器,本篇实现超声波测距传感的交互:

1. 首先把树莓派GPIO结构图放上来:

图一 树莓派GPIO结构图

2. 接线

VCC,超声波模块电源脚,接5V电源即可

Trig,超声波发送脚,高电平时发送出40KHZ出超声波,接GPIO

Echo,超声波接收检测脚,当接收到返回的超声波时,输出高电平,接GPIO

GND,超声波模块GND


图二 树莓派和超声测距传感器的接线图

网上教程指出5V的GPIO可能会烧掉板子,建议加电阻,这里没有加也能运行,自己有材料最好接上电阻。

3. 程序

#! /usr/bin/python

# -*- coding:utf-8 -*-

import RPi.GPIO as GPIO

import time

def checkdist():

    GPIO.setmode(GPIO.BCM)

    #发出触发信号

    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

#第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()

值得学习的模块,而且很实用,测量精度也高,便宜好用。

你可能感兴趣的:(树莓派控制HC-SR04超声波测距传感)