• 介绍

你知道蝙蝠是个“瞎子”吗?那它怎么看东西呢?好吧,它是通过超声波来探路的。下面我要介绍的就是超声波模块,有了它你的树莓派就再也不用当心会“撞墙”了! 该模块会发出超声波,在声波碰到障碍物时会立刻返回被该模块接收到。通过超声波模块来测距的原理就是,计算声波返回的时间,然后与声波的传递速度相乘,就能得到距离了。 我们知道,温度为15度时,声音的传递速度为340米/秒。 另外,大家可以思考一下,为什么非要用超声波来测距呢,别的声波不可以吗?因为,超声波指向性强,能量消耗缓慢,在介质中传播的距离较远。 但是,本文介绍的超声波模块只能探测到4、5米远的距离。

  • 玉照

[caption id="attachment_1593" align="alignnone" width="354"] 超声波模块[/caption]

  • 实验材料

公对母面包线(4根),超声波模块(1个)

  • 接口介绍

该模块有四个接口,分别如下:(需要使用两个gpio) VCC 5V Trig 控制发射超声波 Echo 接收超声波 GND 负极

  • Python实现

[codesyntax lang="python"]

#!/usr/bin/python
# from http://surenpi.comimport RPi.GPIO as GPIO
import datetime
import timedef gpio_init():GPIO.setmode(GPIO.BCM)passdef ultrasound_init(echo, trig):gpio_init()GPIO.setup(echo, GPIO.IN)GPIO.setup(trig, GPIO.OUT)passdef get_distance(echo, trig):ultrasound_init(echo, trig)send_time = 0rece_time = 0GPIO.output(trig, GPIO.LOW)time.sleep(0.002)GPIO.output(trig, GPIO.HIGH)time.sleep(0.000015)GPIO.output(trig, GPIO.LOW)while GPIO.input(echo) == 0:send_time = time.time()passwhile GPIO.input(echo) == 1:rece_time = time.time()passdistance = (rece_time - send_time) * 340 / 2 * 100return distancepass#车位左侧距离
def get_left_distance():trig = 23echo = 24return get_distance(echo, trig)#车位右侧距离
def get_right_distance():trig = 17echo = 27return get_distance(echo, trig)#车位背后距离
def get_back_distance():trig = 5echo = 6return get_distance(echo, trig)#程序入口
if __name__ == '__main__':try:left_dis = get_left_distance()right_dis = get_right_distance()back_dis = get_back_distance()print '车位左侧距离:', left_disprint '车位右侧距离:', right_disprint '车位背后距离:', back_distime.sleep(5)except KeyboardInterrupt:GPIO.cleanup()

[/codesyntax]

  • 参考

淘宝——观月堂 http://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-10583748383.22.J3WhPx&id=45175508621 这里是用wiringPi实现的,http://www.tuicool.com/articles/zaeEFr 不知道你的树莓派的GPIO接口分布?请看这里。 http://blog.sina.com.cn/s/blog_b4d6244a0101az5j.html

转载于:https://my.oschina.net/surenpi/blog/605055

树莓派连接超声波传感器相关推荐

  1. 树莓派控制超声波传感器

    看到大二的时候有写过关于树莓派控制HC-SR04超声波测距模块的教程,当时并未给出代码(也不知道是什么原因,估计初写博客并不熟悉吧),所以在三年后的今天贴代码出来,给大家参考下. //树莓派控制超声波 ...

  2. arduino与hcsr04_怎样用Arduino连接HC-SR04超声波传感器来构建电子卷尺

    您是否见过一个机器人项目,其设备看起来像一对大卡通眼睛,想知道那部分是做什么的?有可能你正在看超声波传感器.在本教程中,您将了解HC-SR04超声波传感器,包括如何使用Arduino连接它来构建电子卷 ...

  3. hc sr04流程图_超声波传感器HC-SR04完整应用以及程序讲解

    带有Arduino的超声波传感器HC-SR04完整应用指南 本文是有关流行的超声波传感器HC – SR04的应用指南.我们将解释其工作原理,向您展示其某些功能,并分享一个您可以遵循的Arduino项目 ...

  4. 掌控板教程 | 想要掌控超声波传感器?可能没你想的那么简单!

    全文约1000字,阅读时间3分钟 # 问题来源 在创客教育教学过程中,超声波传感器是最常用的元器件.但是一不小心也容易出现一些问题,甚至某些问题还比较隐蔽,没有经验的话可能要查很久才能查到问题所在. ...

  5. 掌控板教程 | 掌控超声波传感器?可能没你想的那么简单!

    问题来源 在创客教育教学过程中,超声波传感器是最常用的元器件.但是一不小心也容易出现一些问题,甚至某些问题还比较隐蔽,没有经验的话可能要查很久才能查到问题所在. 前几天就有几个老师来问我,为什么掌控板 ...

  6. 使用超声波传感器测量距离并在LCD上显示

    在本篇文章中,我们将使用Arduino开发板连接超声波传感器测量距离,然后将结果显示在LCD1602显示屏上. 所需的硬件 ● Arduino Uno开发板 ● 超声波传感器(HC-SR04) ● 液 ...

  7. 树莓派4B之超声波传感器模块(python3)

    背景 本人最因工作原因接触到各种电路板,传感器,而自己又是一个小白,随意在其他朋友的推荐下决定从树莓派开始玩传感器:本例子为树莓派控制红外避障传感器 材料 1.树莓派4b 2.火焰传感器模块 3.导线 ...

  8. 监测wifi连接_超声波传感器在物联网河流水位监测过程中扮演重要角色

    物联网技术可以远程监测河流水位.物联网允许你在多个位置精确监测河流水位,数据可以实时无线传输回来.在这篇文章中,工采网技术人员研究了监测河流水位所需的不同组件和传感器.以超声波传感器MB7040为例, ...

  9. 树莓派连接yl-69土壤湿度传感器

    树莓派连接yl-69土壤湿度传感器 python代码(亲测可用) 针脚连接5v(PIN02),gnd(PIN39),GPIO21(PIN40) python代码(亲测可用) #!/usr/bin/py ...

最新文章

  1. 国二vb计算机过的办法,国二计算机VB教程10.ppt
  2. 通过Docker发布RestAPI遇到的种种问题
  3. window使用技巧记录
  4. 我的makefile写法(一)
  5. 中继代理 server2008R2
  6. Ecstore 2.0 报表显示空白
  7. python构建知识库_使用Mediawiki构建个人知识库
  8. 泰安机器人比赛_泰安学子在省青少年机器人竞赛上揽8个一等奖
  9. android悬浮控件-仿360手机助手应用详情页
  10. 为Vue2集成UIkit
  11. [Android Pro] 内容提供者ContentProvider的基本使用
  12. Angular 2 ViewChild ViewChildren
  13. PyTorch 算法加速指南
  14. docker部署达梦流程记录(DM7和DM8)
  15. 服务器amd cpu性能排行,Ryzen处理器有哪些/性能排名如何?AMD Ryzen CPU天梯图解答...
  16. 检测字符串是否位于另一个字符串尾端
  17. iOS源码资源之各种项目源码汇总
  18. idea在自动注入DiscoveryClient的时候报错
  19. MFC VS2010 Open CASCADE新建自己的工程
  20. 客户端开发GUI框架对比与技术选型总结

热门文章

  1. 用友优普超客营销助亚细亚智业提升销售管理
  2. html lorem自动填充,使用 lorem 快捷生成随机文本填充页面
  3. 怎么在控制台下获取鼠标和键盘信息 即控制台下的键盘鼠标事件
  4. 如何分辨周围聪明人(转自知乎)
  5. PANASONIC DV型号
  6. 大家好,怎样对网站做优化?都有哪些手段? (谷歌)
  7. 以前有个搜刮音乐_2020年10种最佳的销售潜在电子邮件搜刮工具
  8. centOs安装minio oss对象存储
  9. 基于深度学习的机载激光扫描森林单株茎的检测、分割与模型拟合
  10. Armhf 中安装 ROS Indigo 的方法