超声波模块HC-SR04简介以及编程
2015-06-15 09:34
344 查看
1、本模块性能稳定,测度距离精确,模块高精度,盲区小。 产品应用领域: 机器人避障 物体测距 液位检测 公共安防 停车场检测 。
2、 主要技术参数:
1:使用电压:DC---5V
2:静态电流:小于2mA
3:电平输出:高5V
4:电平输出:底0V
5:感应角度:不大于15度
6:探测距离:2cm-450cm
7:高精度 可达0.2cm
接线方式:VCC、trig(控制端)、 echo(接收端)、 GND
基本工作原理: (1)采用IO口TRIG触发测距,给至少10us的高电平信号; (2)模块自动发送8个40khz的方波,自动检测是否有信号返回; (3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2; 本模块使用方法简单,一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,即可以达到你移动测量的值
5、 操作:初始化时将trig和echo端口都置低,首先向给 trig 发送至少10 us的高电平脉冲(模块自动向外发送8个40K的方波),然后等待,捕捉 echo 端输出上升沿,捕捉到上升沿的同时,打开定时器开始计时,再次等待捕捉echo的下降沿,当捕捉到下降沿,读出计时器的时间,这就是超声波在空气中运行的时间,按照 测试距离=(高电平时间*声速(340M/S))/2 就可以算出超声波到障碍物的距离。
====================================================================================
2、 主要技术参数:
1:使用电压:DC---5V
2:静态电流:小于2mA
3:电平输出:高5V
4:电平输出:底0V
5:感应角度:不大于15度
6:探测距离:2cm-450cm
7:高精度 可达0.2cm
接线方式:VCC、trig(控制端)、 echo(接收端)、 GND
基本工作原理: (1)采用IO口TRIG触发测距,给至少10us的高电平信号; (2)模块自动发送8个40khz的方波,自动检测是否有信号返回; (3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2; 本模块使用方法简单,一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,即可以达到你移动测量的值
5、 操作:初始化时将trig和echo端口都置低,首先向给 trig 发送至少10 us的高电平脉冲(模块自动向外发送8个40K的方波),然后等待,捕捉 echo 端输出上升沿,捕捉到上升沿的同时,打开定时器开始计时,再次等待捕捉echo的下降沿,当捕捉到下降沿,读出计时器的时间,这就是超声波在空气中运行的时间,按照 测试距离=(高电平时间*声速(340M/S))/2 就可以算出超声波到障碍物的距离。
====================================================================================
本帖最后由 海神 于 2013-6-15 18:07 编辑 超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离s,即:s=340m/s× t / 2 。这就是所谓的时间差测距法。本实验利用超声波测得的距离从串口中显示。 [align=left]元器件清单:[/align] Zduino UNO × 1; OJ传感器扩展板× 1; [align=left]USB数据线 × 1 ;[/align] [align=left]1p杜邦线 × 4 ;[/align] [align=left]超声波传感器 × 1;[/align] 知识要点: [align=left]pulseIn():用于检测引脚输出的高低电平的脉冲宽度。[/align] [align=left]pulseIn(pin, value)[/align] [align=left]pulseIn(pin, value, timeout)[/align] [align=left]Pin---需要读取脉冲的引脚[/align] [align=left]Value---需要读取的脉冲类型,HIGH或LOW[/align] Timeout---超时时间,单位微秒,数据类型为无符号长整型。 [align=left]使用方法及时序图:[/align] [align=left]1、使用Arduino采用数字引脚给SR04的Trig引脚至少10μs的高电平信号,触发SR04模块测距功能;[/align] [align=left]2、触发后,模块会自动发送8个40KHz的超声波脉冲,并自动检测是否有信号返回。这步会由模块内部自动完成。[/align] 3、如有信号返回,Echo引脚会输出高电平,高电平持续的时间就是超声波从发射到返回的时间。此时,我们能使用pulseIn()函数获取到测距的结果,并计算出距被测物的实际距离。 [align=left]SR04与Arduino接线示意图:[/align] |
相关文章推荐
- windows下 qt5&vs2010 在qtCreator下中文乱码
- 安装PHP后,启动YII项目报错
- Python中datetime常用时间处理方法
- Java核心API -- 5(包装类、BigDecimal、BigInteger)
- 通过一个简单类就可以知道java类和对象的初始化顺序
- Python实现简单截取中文字符串的方法
- 推荐10本C#编程的最佳书籍
- 构建Python包的五个简单准则简介
- 大话设计模式C++版——工厂模式在COM中的典型应用
- 大话设计模式C++版——工厂模式在COM中的典型应用
- 多线程就这么简单 python版
- Python中文字符串截取问题
- 交叉编译Ruby for ARM
- python获取mp3文件信息的方法
- Google Interview - Flowing Water
- Dubbo+Spring+MyBaits客户端得到对象的属性为空
- Java的日期格式化常用方法
- python实现批量下载新浪博客的方法
- Gradle安装及Eclipse插件配置
- java.lang.NoClassDefFoundError: Could not initialize class ces.com.log.Logge