超声波距离传感器

  • 接地端接线问题
  • 测距的实现问题
    • 原理
    • 主要代码
  • 传感器供电问题

工作原理和使用方法主要参考了 树莓派实验室转载简书的一篇文章,但是这里面有一些错误

接地端接线问题

这是传感器使用树莓派的5V电源的方案,亲测可行。

测距的实现问题

原理

HC-SR04超声波模块工作原理:
1)给TRIG口至少10us的高电平信号触发测距;
2)之后模块自动发送8个40khz的方波
3)之后ECHO口输出高电平(这也是为什么测量距离有下限而不能无限小)
4)自动检测是否有信号返回
4)有信号返回,ECHO口输出低电平,高电平持续的时间就是超声波从发射到返回的时间。
上时序图: 没有什么是时序图表达不清楚的

网上关于这个的博文很多,大都是复制粘贴的,一个错个个错,很少有能把这个HC-SR04工作过程说正确的。

所以本程序的核心是:

1.初始化:将trig和echo端口都置低

2.给 trig 发送至少10 us的高电平脉冲(模块自动向外发送8个40K的方波)

3.等待,捕捉 echo 端输出上升沿,捕捉到上升沿的同时,打开定时器计下此时的时刻

4.等待捕捉echo的下降沿,当捕捉到下降沿时,记下此时时刻

5.两个时刻相减就是echo高电平持续时间

主要代码

第三、四步的的代码实现

# 记录发送超声波的时刻1
while GPIO.input(GPIO_ECHO) == 0:pass #这个pass在C++中写成 ; 也是一样的
start_time = time.time()
# 记录接收到返回超声波的时刻2
while GPIO.input(GPIO_ECHO) == 1:pass
stop_time = time.time()

亲测可行,误差可保持在在一厘米之内

传感器供电问题

这个方案中使用树莓派的5V电源供电,但是我在自己尝试外部电源给传感器供电时,怎么也不能让他正常工作。这个地方需要学习。

树莓派学习笔记003-超声波距离传感器相关推荐

  1. 树莓派学习笔记——GPIO功能学习

    0.前言 树莓派现在越来越火,网上树莓派的资料也越来越多.树莓派源自英国,国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷,下面推荐几个. [ python GPIO ] [开发语言] ...

  2. 树莓派学习笔记—— 源代码方式安装opencv

    0.前言 本文介绍如何在树莓派中通过编译源代码的方式安装opencv,并通过一个简单的例子说明如何使用opencv. 更多内容请参考--[树莓派学习笔记--索引博文] 1.下载若干依赖项 在开始安装之 ...

  3. 树莓派学习笔记——Wifi AP热点模式 使用RT5370

    0.前言 本文详细说明为树莓派增加Wifi AP热点功能的具体步骤.配置完成之后,树莓派将增加一个Wifi热点功能,使用笔记本或手机便可连接树莓派,树莓派具有了AP热点功能,可更一步扩展树莓派相关的W ...

  4. 树莓派学习笔记(5):成功实现NAS家庭服务器(流媒体播放、文件共享及下载机)

    一.家庭服务器实现的主要功能 http://www.cnblogs.com/xiaowuyi/p/4051238.html 1.流媒体播放服务:利用DLNA实现电视.手机.电脑播放其上面的媒体文件. ...

  5. 【树莓派学习笔记】树莓派4B上运行uboot并从网络启动linux内核(上)

    [树莓派学习笔记]树莓派4B上运行uboot并从网络启动linux内核(上) 文章目录 [树莓派学习笔记]树莓派4B上运行uboot并从网络启动linux内核(上) 前言 1. 硬件需求与软件版本汇总 ...

  6. 树莓派学习笔记——Python SQLite插入温度记录

    0 前言 本文使用python向SQLite数据库中插入树莓派温度数据,SQLite数据库中包含一张只包含三个字段的记录表--参数名称,时间和温度值.本文重点解释Python操作SQlite的具体方法 ...

  7. 树莓派学习笔记——获取树莓派CPU温度

    0 前言 本文通过文件操作读取树莓派CPU温度,在linux系统中任何设备的操作都被抽象成为文件读写,通过读取/sys/class/thermal/thermal_zone0/temp文件中的内容便获 ...

  8. 树莓派学习笔记——wiringPi简介、安装和管脚说明

    1.WiringPi简介 WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi遵守GUN Lv3.wiringPi使用C或者C++开发并且可以被其他语言包转,例如python.ru ...

  9. 树莓派学习笔记——yeelink 远程控制LED

    1.前言 前段时间玩了树莓派的GPIO,串口和I2C接口,把树莓派当成单片机来玩,期间深入分析了wiringPi.相对于单片机,以Linux为操作系统的树莓派在网络功能方面要强大的多,下面就结合当下流 ...

最新文章

  1. 排序算法---冒泡排序(java版)
  2. C语言socket设置超时的几种方法
  3. PYTHON 函数的返回值
  4. adc采样时间_太秀了!单片机内置 ADC 实现高分辨率采样?
  5. 51单片机之音乐代码
  6. vagrant up 慢的解决方案
  7. keras笔记(4)-使用Keras训练大规模数据集
  8. mysql乐观锁总结和实践 - 青葱岁月 - ITeye博客
  9. python和c 的区别-c 跟 python的区别有哪些
  10. JavaScript中字符串的match与replace方法
  11. 人工智能火灾报警器_使用AI进行准确的火灾预测
  12. 原生android系统换主题字体,Android 自定义字体,更换系统默认显示的字体使用自定义字体...
  13. empty string mysql_Mysql中的null与empty string
  14. 使用 HTML、CSS 和 JavaScript 定制私人版的刮刮乐【一看就会】
  15. 离散数学复习--Modular Arithmetic
  16. 解决加速c/c++编译运行速度的问题办法
  17. 计算机组成原理---指令系统
  18. [dfs树]「CEOI 2017」One-Way Streets
  19. leaflet实现风场动态粒子效果
  20. 生成式模型(VAE+GAN)

热门文章

  1. 小甲鱼课后作业_网课期间的家校合作,从好好交作业开始……
  2. 绿色版的PDF格式转换软件
  3. Linux:切换当前进程的权限
  4. A9G开发板-智能救生衣项目
  5. mybatisplus通用批量修改
  6. SOHO中国董事长潘石屹的昨天今天和明天
  7. Swift语言基础笔记(二)
  8. 万字废话 211财经院校管理学保研到985工科的心酸历程
  9. 游戏网页设计成品 学校班级网页制作模板 大学生静态HTML网页源码 dreamweaver网页作业 简单网页课程成品
  10. Photoshop极坐标滤镜打造炫彩烟花