树莓派超声波测距自动避障

超声波测距的原理很简单,发射一个声波,反弹回来,然后接受反弹回来的这个声波。
利用这个时间差,就可以算出距离了。
欢迎加入交流群:580710182
首先,连接超声波模块,我的连接在GPIO20和GPIO21上,所以相应的代码如下

# 超声波引脚
TRIG = 20
ECHO = 21

TRIG这个名称也可以换,但是模块上用的这个名字,用这个更好记忆。
TRIG负责发射超声波,ECHO负责接收超声波。

1、初始化超声波模块,也就是把它不让他发射,置于低电平

  GPIO.output(TRIG, 0)

很多在后面追加了如下代码:

time.sleep(0.000002)

应该是为了防止错误,因为紧接着,就需要把发射端置为高电平。

2、发射超声波

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

一定要 用GPIO.output(TRIG, 0)来把超声波发射关闭,否则将会一直发射,也就没有办法测距了。
现在发射结束。

3、接收超声波

while GPIO.input(ECHO) == 0:
    pass
emitTime = time.time()
while GPIO.input(ECHO) ==
  • 19
    点赞
  • 126
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值