RaspberryPi 3B型-超声波测距

实现效果
启动程序,检测当前传感器与最前方物理的距离,当距离小于1米时点亮led灯进行提示。
一 原理
对于距离计算通常可是使用声速*时间来计算,因此X(距离)=V(速度)*T(时间)。由于声速时已经确定的常量数据34300cm/s,
因此我们只需要计算好时间即可计算出测试距离,这里时间测量是从发出声波脉冲和收到声波脉冲之间的时间间隔。例如传感器从A发出声波,经过T1时间到达目标B点,声波在B点被反射并且在T2时间返回A 点的传感器,因此传感器测量的实际时间是T=T1+T2,而我们测量A点到B点,时间只需要(T1+T2)/2.因此得出最终的计算公式:X=17150*T

二 准备
1.HC-SR04型号超声波传感器。
2.330欧姆,1千欧和2千欧电阻各一个。
3.母对公跳线和母对母条线若干。
4.LED灯一个。
5.面包版以及树莓派主板。

三 步骤
1.绘制简易电路图
2.准备面包版
3.将树莓派第6号针脚(GND)和面包版的接地线连接(负极线),并且传感器GND针脚连接到同一行上。
4.将出发引脚P23号针脚连接到传感器的Trig阵脚(发射脉冲开关)
5.从P24号针脚引出线连接到面包版上,传感器Echo针脚(输出)连接一个1千欧电阻(为了降压)和一个2千欧的电阻,P24号为信号
输入阵脚连接到 第一个电阻和第二个电阻之间。从Echo引出的线2千欧姆电阻另一段连接地线(GND).
6.将P17号针脚连接到面包版上,并且串联一个330欧姆电阻降压,顺序连接LED灯,led灯负极连接到GND地线。
7.将+5v电压针脚连接到面包版上,并且连接到传感器的VCC针脚上。


四 HC-SR04图

这里写图片描述

五 简易电路图
我们这里以p23号阵脚为信号输出,p24号为信号输入,p17为输出。
这里写图片描述


六 编码(使用python)

import RPi.GPIO as GPIO
import time
TRIG = 23
ECHO = 24
LED=17
#设置当前阵脚为bcm模式
GPIO.setmode(GPIO.BCM)
print "Measuring Distence!"
print "press ctrl+c to stop me!"
GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(LED,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)
time.sleep(0.02)
GPIO.output(LED,False)
GPIO.output(TRIG,False)
print "setting trigger pin to zero by default!" 
time.sleep(1)
#触发超声波传感器,向传感器发出10us的脉冲
GPIO.output(TRIG,True)
time.sleep(0.00001)
GPIO.output(TRIG,False)
try:
        #输出阵脚为低电平记录开始时间
        while GPIO.input(ECHO) == 0:
                pass
        start_time = time.time()
        #当输出阵脚为高电平,表示有返回,记录结束时间
        while GPIO.input(ECHO) == 1:
                pass
        end_time = time.time()
        #计算时间差以及距离
        time=end_time - start_time
        distance=17150*time
        print "this distance:",distance,"cm"
        #如果距离小于1米则点亮led灯
        if distance<=1*100:
                print "this distance <=100cm"
                GPIO.output(LED,True)
                time.sleep(0.5)
                GPIO.output(LED,False)
except Exception:
        print "error!"
finally:
        #务必记得清理使用完以后,否则下次在使用阵脚时提示已经被占用
        GPIO.cleanup()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值