JSN-SR04T倒车雷达超声波测距模块

JSN-SR0T4-2.0 超声波测距模块可提供 20cm-600cm 的非接触式距离感测功能,测距精度可达高到 2mm,采用工业级一体化超声波探头设计,防水型,性能稳定,兼容市场上所有的 MCU 工作。
实物图
模块规格参数

基本原理

作为超声波测距模块,本模块与HC-SR04雷同,二者可相互作为参考。
(JSN-SR04T和HC-SR04似乎是同一家公司的产品,其中,JSN-SR04T的模式一与HC-SR04的基本使用相兼容)

超声波测距模块,原理自然而然就是超声波测距,通过计算超声波在空气中经过的路程来测量距离,具体原理为:
超声波时序图
对模块的Trig引脚发送一个持续时间不小于10us的高电平脉冲作为触发信号,当模块接收到触发信号后,模块内部向外界发出8个40kHz的超声波脉冲,同时Echo引脚由0置1。当超声波脉冲遇到被测障碍物并反射回测距模块时,Echo引脚电平由1置0,一次测距结束。通过计算Echo引脚高电平持续时间即可求得超声波传输时间,进而求解出所测距离。
.
.
.

代码思路

代码思路有两种,一种是通过定时器的输入捕获来计算时间,另一种是通过外部中断结合定时器的开闭来计算时间,个人觉得第二种比较简单,故采用第二种。

具体思路为:
通过MPU不断控制Trig控制端发送触发信号,使得模块处于实时测距状态,定时器和外部中断开启,每当测距模块向外发送高频信号时,将触发Echo引脚的外部中断,外部中断中,通过控制定时器的开闭来测量反应时间,从而通过换算得到距离。
.
.
.

部分代码

初始化函数

简单对GPIO进行初始化

//initialize the pin of jsn-sr04t
void JSN_SR04T_Init(void)
{
   
	//定义GPIO初始化结构体
	GPIO_InitTypeDef GPIO_InitStruct;
	
	//初始化相应IO口时钟
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
	
	//初始化GPIO参数	引脚Trig,用于输出一个持续10us的高电平触发信号,触发超声波模块开始发送超声波
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
	GPIO_InitStruct
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值