匿名
未登录
登录
丢石头百科
搜索
查看“Ultrasonic Distance Sensor”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
Ultrasonic Distance Sensor
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Product |images= [[File:Ultrasonic Distance Sensor (HC-SR04).jpg|400px]] Ultrasonic Distance Sensor (HC-SR04) ----- [[File:Ultrasonic Distance Sensor (HY-SRF05).jpg|400px]] Ultrasonic Distance Sensor (HY-SRF05) ----- [[File:Ultrasonic Distance Sensor (US-100).jpg|400px]] Ultrasonic Distance Sensor (US-100) |categories= {{Category|传感器}} |brand=丢石头 |features= * 超声波传感器 |interfaces= {{Category|UART接口}} {{Category|IIC接口}} {{Category|I/O口}} }} == 产品概述 == 超声波模块主要是由两个通用的压电陶瓷超声传感器,并加外围信号处理电路构成的。具体为:两个压电陶瓷超声传感器一个用于发出超声波信号,一个用于接收反射回来的超声波信号。由于发出信号和接收信号都比较微弱,所以需要通过外围信号放大器提高发出信号的功率,和将反射回来信号进行放大,以能更稳定地将信号传输给单片机。超声波模块常用于机器人避障、物体测距、液位检测、公共安防、停车场检测等场所。 == 工作原理== 超声波测距原理是在超声波发射装置发出超声波,它的根据是接收器接到超声波时的时间差,与雷达测距原理相似。 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。(超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/200) **[[File:Ultrasonic Distance Sensor_原理.png|600px]] == 参数说明 == [[File:Ultrasonic Distance Sensor_参数说明.png|800px]] == 使用说明 == === HC-SR04 === ==== 引脚说明 ==== *[[File:Ultrasonic Distance Sensor _HC-SR04.jpg|600px]] *'''引脚说明''' **1、VCC:电源正极,接电压3V-5.5V **2、Trig/Rx/SCL/ I/O:接收MCU发送的控制脉冲 ***GPIO模式:Trig 触发信号,接外部电路的Trig端 ***UART模式:Rx 接收信号,接外部电路的Tx端 ***IIC模式:SCL 时钟信号,接外部电路的SCL端 ***1-Wire模式:I/O 接收/发送信号 **3、Echo/Tx/SDA:向MCU发送数据脉冲 ***GPIO模式:Echo 反馈信号,接外部电路的Echo端 ***UART模式:Tx 发射信号,接外部电路的Rx端 ***IIC模式:SDA 数据信号,接外部电路的SDA端 **4、GND:电源负极,接地 *'''功能选择端说明''' **[[File:Ultrasonic Distance Sensor (HC-SR04)_引脚说明.png|800px]] ==== 操作说明 ==== *实际应用,如果需要精确距离值,必需要考虑温度影响,做温度补偿 *'''GPIO模式''' **[[File:Ultrasonic Distance Sensor (HC-SR04)_GPIO.png|800px]] **工作模式同老版本HC-SR04。外部MCU给模块Trig脚一个大于10uS的高电平脉冲;模块会给出一个与距离等比的高电平脉冲信号, **可根据脉宽时间“T”算出:距离=T*C/2 (C为声速) **声速温度公式:c=(331.45+0.61t/℃)m•s-1 (其中330.45是在0℃) 其中: ***0℃声速: 330.45M/S ***20℃声速: 342.62M/S ***40℃声速: 354.85M/S ***0℃-40℃声速误差7%左右。 *'''UART模式''' **UART模式:波特率9600,起始位1位,停止位1位,数据位8位,无奇偶校验位,无流控制 **连接串口。外部MCU或PC发命令0XA0,模块完成测距后发3个返回距离数据,BYTE_H,BYTE_M与BYTE_L。 **距离计算方式如下(单位mm): ***距离=((BYTE_H<<16)+(BYTE_M<<8)+ BYTE_L)/1000 *'''IIC模式''' **IIC地址: 0X57 **IIC传输格式: ***写数据:[[File:Ultrasonic Distance Sensor (HC-SR04)_IIC_1.png|600px]] ***读数据:[[File:Ultrasonic Distance Sensor (HC-SR04)_IIC_2.png|600px]] **命令格式:[[File:Ultrasonic Distance Sensor (HC-SR04)_IIC.jpg|600px]] **向模块写入0X01,模块开始测距;等待200mS(模块最大测距时间)以上。直接读出3个距离数据。BYTE_H,BYTE_M与BYTE_L。 **距离计算方式如下(单位mm):距离=((BYTE_H<<16)+(BYTE_M<<8)+ BYTE_L)/1000 === HY-SRF05 === ==== 引脚说明 ==== *[[File:Ultrasonic Distance Sensor _HY-SRF05.jpg|600px]] *'''引脚说明''' **1、VCC:电源正极,接电压5V DC **2、Trig:触发信号,接收MCU发送的控制脉冲 **3、Echo:反馈信号,向MCU发送数据脉冲 **4、OUT:开关量输出端 **5、GND:电源负极,接地 ==== 操作说明 ==== *[[File:Ultrasonic Distance Sensor (HC-SR04)_GPIO.png|800px]] *MCU通过Trig端口向模块提供一个10uS 以上脉冲触发信号。 *模块内部自动发出8个40kHz周期的方波信号,检测是否有信号返回。 *检测到有回波信号则通过Echo端口输出回响信号。回响信号的脉冲宽度与所测的距离成正比。 *发射信号到收到的回响信号时间间隔可以计算得到距离。 *公式:uS/58=厘米 或 uS/148=英寸 或 距离=高电平时间*声速(340M/S)12: *建议测量周期为60ms 以上,以防止发射信号对回响信号的影响。 === US-100 === ==== 引脚说明 ==== *[[File:Ultrasonic Distance Sensor _US-100.jpg|600px]] **1、VCC:电源正极,接电压2.4V-5.5V **2、Trig/Tx:接收MCU发送的控制脉冲 ***GPIO模式:Trig 触发信号,接外部电路的Trig端 ***UART模式:Tx 接收信号,接外部电路的Tx端 **3、Echo/Rx:向MCU发送数据脉冲 ***GPIO模式:Echo 反馈信号,接外部电路的Echo端 ***UART模式:Rx 发射信号,接外部电路的Rx端 **4、GND:电源负极,接地 **5、GND:电源负极,接地 *'''功能选择端说明''' **插上跳线帽时,为UART模式 **拔掉跳线帽时,为GPIO模式 ==== 操作说明 ==== *'''GPIO测距模式''' **[[File:Ultrasonic Distance Sensor (US-100)_1.png|600px]] **在模块上电前,应先去掉模式选择跳线上的跳线帽,使模块处于电平触发模式。 **在 Trig/TX 管脚输入一个10US以上的高电平,系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号。 **当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX 管脚输出。 **在此模式下,模块将距离值转化为340m/s时的时间值的2倍,通过 Echo 端输出一高电平,可根据此高电平的持续时间来计算距离值。 **即距离值为:(高电平时间*340m/s)/2。 **注:因为距离值已经经过温度校正,此时无需再根据环境温度对超声波声速进行校正,即不管温度多少,声速选择340m/s 即可。 *'''UART测距模式''' **[[File:Ultrasonic Distance Sensor (US-100)_2.png|600px]] **在模块上电前,应先插上模式选择跳线上的跳线帽,使模块处于串口触发模式。 **在 Trig/TX 管脚输入 0X55 (波特率 9600),系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号。 **当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过 Echo/RX管脚输出。 **输出的距离值共两个字节,第一个字节是距离的高 8 位(HDate),第二个字节为距离的低 8 位(LData),单位为毫米。 **即距离值为 (HData*256 +LData)mm。 *'''UART测温模式''' **[[File:Ultrasonic Distance Sensor (US-100)_3.png|600px]] **在模块上电前,应先插上模式选择跳线上的跳线帽,使模块处于串口触发模式。 **在 Trig/TX 管脚输入 0X50 (波特率 9600),系统便启动温度传感器对当前温度进行测量,然后将温度值通过 Echo/RX 管脚输出。 **测量完成温度后,本模块会返回一个字节的温度值(TData),实际的温度值为 TData-45。 **例如通过 TX 发送完0X50 后,在 RX 端收到 0X45,则此时的温度值为 [69(0X45 的10 进制值)-45] = 24 度。 == 原理图 == *[[:File:Ultrasonic Distance Sensor (HC-SR04)_原理图.pdf|HC-SR04]] *[[:File:Ultrasonic Distance Sensor (HY-SRF05)_原理图.pdf|HY-SRF05]] *[[:File:Ultrasonic Distance Sensor (US-100)_原理图.pdf|US-100]] == 参考例程 == *[[:File:Ultrasonic Distance Sensor (HC-SR04)_参考例程.zip|HC-SR04]] *[[:File:Ultrasonic Distance Sensor (HY-SRF05)_参考例程.zip|HY-SRF05]] *[[:File:Ultrasonic Distance Sensor (US-100)_参考例程.zip|US-100]] == 注意事项 == *此模块不宜带电连接,如果要带电连接,则先连接模块的GND。 *如果测试面不是很规则或测试远距离物体时,可采用多次测量的方法来校正。 *两次测试间隔要不小于200ms。 == FAQ == {{Service00}}
该页面使用的模板:
模板:Category
(
查看源代码
)
模板:Product
(
查看源代码
)
模板:Service00
(
查看源代码
)
模板:Tag
(
查看源代码
)
模板:Tipbox
(
查看源代码
)
返回至
Ultrasonic Distance Sensor
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志