zoukankan      html  css  js  c++  java
  • STM32(HY-SRF05)超声波测距项目

     

    参考资料:

    https://www.cnblogs.com/qsyll0916/p/6964638.html

    http://blog.csdn.net/zhangdaxia2/article/details/50783566

    首先,先来看一下这个模块的基本功能和原理。

     

    HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。像智能小车的测距以及转向,或是一些项目中,常常会用到。智能小车测距可以及时发现前方的障碍物,使智能小车可以及时转向,避开障碍物。

     

    注意是5v输入,但是我用stm32 的3.3v输入也是没有问题的

     

     

    1、模块(OUT脚的作用是什么)

    2、工作原理

    (1)、采用IO口TRIG触发测距,给至少10us的高电平信号;

    (2)、模块自动发送8个40khz的方波,自动检测是否有信号返回;

    (3)、有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平*声速(340m/s)/2);

    3、时序图

    图解:上时序图表明你只需要提供一个10us以上脉冲信号,该模块内部将发出8个40kHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。

     

    4、计算公式

     公式:uS/58=厘米或者uS/148=英寸;或是:距离高电平时间*声速(340m/s)/2;建议测量周期为60ms以上,以防止发射信号对回响的影响。

    5、编程的思路是:

    (1)、配置好使用GPIO以及定时器;

    (2)、给模块TRIG端口发送大于10us的高电平,当收到ECHO回响信号时,打开定时器开始定时;

     (3)、当回响信号消失,关闭定时器;

    (4)、通过定时器定时时间来确定距离。

  • 相关阅读:
    zabbix--5.0.2部署手册
    ssh远程连接出现WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
    centos7自带python2.7.5安装pip
    Nginx代理kibana方法2
    安洵杯Laravel反序列化非预期+POP链挖掘
    vue笔记:vue组件的生命周期
    通用测试用例编写
    Vue笔记:Vue中使用mockjs
    Python map、reduce、filter函数用法
    Python如何实现异步IO
  • 原文地址:https://www.cnblogs.com/kinson/p/8011536.html
Copyright © 2011-2022 走看看