树莓派与超声波测距

本次采用的是 HC-sr04 超声波测距模块



这个针脚,比较重要的是  trig(控制端)、  echo(接收端)
原理是控制端 给一个高电压,持续 0.01秒,然后读取接收端,计算接收的时间,然后按照声速来计算距离。
这个声速的距离一般按照 340米每秒来计算,这个是一个标准值,这个感应器,没有温度补偿,也就是里面会有误差,这个误差,要根据大家的实际情况来区分了。
import RPi.GPIO as GPIO
import time

SEND_PIN = 37
ECHO_PIN = 38
GPIO.setmode(GPIO.BOARD)
GPIO.setup(SEND_PIN,GPIO.OUT)
GPIO.setup(ECHO_PIN,GPIO.IN)
GPIO.output(SEND_PIN, GPIO.LOW)
time.sleep(1)
try:
        GPIO.output(SEND_PIN, GPIO.HIGH)
        time.sleep(0.001)
        GPIO.output(SEND_PIN, GPIO.LOW)
        
#接收返回电波
        while GPIO.input(ECHO_PIN)==False:
                pass
#这里记录时间,也就是echo pin 有数据来了<span style="white-space:pre">	</span><pre name="code" class="python"><span style="white-space:pre">	</span>t1=time.time()
while GPIO.input(ECHO_PIN): pass t2=time.time() t3 = t2-t1 print(t3) dis = t3*34000/2 print(dis)finally: GPIO.cleanup()
 
 
我测试的结果是,3cm以内,基本就测试部出来,但是这个感应器说是 2cm以内测试不出来,现在没找到原因,另外,大家可以找找高级一些的超声波模块,我发现过一个带温度补偿的,这样准备度会更好一些。

参考过 http://www.shumeipai.net/thread-20219-1-1.html?_dsign=f5542c7d


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值