树莓派连接超声波传感器
- 介绍
你知道蝙蝠是个“瞎子”吗?那它怎么看东西呢?好吧,它是通过超声波来探路的。下面我要介绍的就是超声波模块,有了它你的树莓派就再也不用当心会“撞墙”了! 该模块会发出超声波,在声波碰到障碍物时会立刻返回被该模块接收到。通过超声波模块来测距的原理就是,计算声波返回的时间,然后与声波的传递速度相乘,就能得到距离了。 我们知道,温度为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
树莓派连接超声波传感器相关推荐
- 树莓派控制超声波传感器
看到大二的时候有写过关于树莓派控制HC-SR04超声波测距模块的教程,当时并未给出代码(也不知道是什么原因,估计初写博客并不熟悉吧),所以在三年后的今天贴代码出来,给大家参考下. //树莓派控制超声波 ...
- arduino与hcsr04_怎样用Arduino连接HC-SR04超声波传感器来构建电子卷尺
您是否见过一个机器人项目,其设备看起来像一对大卡通眼睛,想知道那部分是做什么的?有可能你正在看超声波传感器.在本教程中,您将了解HC-SR04超声波传感器,包括如何使用Arduino连接它来构建电子卷 ...
- hc sr04流程图_超声波传感器HC-SR04完整应用以及程序讲解
带有Arduino的超声波传感器HC-SR04完整应用指南 本文是有关流行的超声波传感器HC – SR04的应用指南.我们将解释其工作原理,向您展示其某些功能,并分享一个您可以遵循的Arduino项目 ...
- 掌控板教程 | 想要掌控超声波传感器?可能没你想的那么简单!
全文约1000字,阅读时间3分钟 # 问题来源 在创客教育教学过程中,超声波传感器是最常用的元器件.但是一不小心也容易出现一些问题,甚至某些问题还比较隐蔽,没有经验的话可能要查很久才能查到问题所在. ...
- 掌控板教程 | 掌控超声波传感器?可能没你想的那么简单!
问题来源 在创客教育教学过程中,超声波传感器是最常用的元器件.但是一不小心也容易出现一些问题,甚至某些问题还比较隐蔽,没有经验的话可能要查很久才能查到问题所在. 前几天就有几个老师来问我,为什么掌控板 ...
- 使用超声波传感器测量距离并在LCD上显示
在本篇文章中,我们将使用Arduino开发板连接超声波传感器测量距离,然后将结果显示在LCD1602显示屏上. 所需的硬件 ● Arduino Uno开发板 ● 超声波传感器(HC-SR04) ● 液 ...
- 树莓派4B之超声波传感器模块(python3)
背景 本人最因工作原因接触到各种电路板,传感器,而自己又是一个小白,随意在其他朋友的推荐下决定从树莓派开始玩传感器:本例子为树莓派控制红外避障传感器 材料 1.树莓派4b 2.火焰传感器模块 3.导线 ...
- 监测wifi连接_超声波传感器在物联网河流水位监测过程中扮演重要角色
物联网技术可以远程监测河流水位.物联网允许你在多个位置精确监测河流水位,数据可以实时无线传输回来.在这篇文章中,工采网技术人员研究了监测河流水位所需的不同组件和传感器.以超声波传感器MB7040为例, ...
- 树莓派连接yl-69土壤湿度传感器
树莓派连接yl-69土壤湿度传感器 python代码(亲测可用) 针脚连接5v(PIN02),gnd(PIN39),GPIO21(PIN40) python代码(亲测可用) #!/usr/bin/py ...
最新文章
- 国二vb计算机过的办法,国二计算机VB教程10.ppt
- 通过Docker发布RestAPI遇到的种种问题
- window使用技巧记录
- 我的makefile写法(一)
- 中继代理 server2008R2
- Ecstore 2.0 报表显示空白
- python构建知识库_使用Mediawiki构建个人知识库
- 泰安机器人比赛_泰安学子在省青少年机器人竞赛上揽8个一等奖
- android悬浮控件-仿360手机助手应用详情页
- 为Vue2集成UIkit
- [Android Pro] 内容提供者ContentProvider的基本使用
- Angular 2 ViewChild ViewChildren
- PyTorch 算法加速指南
- docker部署达梦流程记录(DM7和DM8)
- 服务器amd cpu性能排行,Ryzen处理器有哪些/性能排名如何?AMD Ryzen CPU天梯图解答...
- 检测字符串是否位于另一个字符串尾端
- iOS源码资源之各种项目源码汇总
- idea在自动注入DiscoveryClient的时候报错
- MFC VS2010 Open CASCADE新建自己的工程
- 客户端开发GUI框架对比与技术选型总结