//单次获取测量距离floatHCSR04_Get_Distant(void){HCSR04StartTrigStart();while(!HCSR_ECHO());HCSR04_TimerFunc(1);//start timerwhile(HCSR_ECHO());HCSR04_TimerFunc(0);//stop timerreturn(__HAL_TIM_GetCounter(&htim2))/58.0;}//均值滤波减小测量误差floatDistance(uint8_t cnt){float sum=...
利用HC-SR04超声波测距模块可以实现比较精确的直线测距,其测距原理图如下: HC-SR04的一端发出超声波,接触到反射物后反射,被另一个端口接收到,所以只要知道发射和接收的时间差,就可以根据声波传播的速率算出HC-SR04和反射物直接的距离。 所以实现超声波测距就需要俩个条件: 发射和接收的时间差 超声波传输的速率 HC...
VCC是HC-SR04超声波距离传感器的电源,我们连接了5V的供电。 Trig(Trigger) 引脚用于触发超声波脉冲,下面例程中用的GPIOB5,所以连接STM32的GPIOB5。 Echo回声当接收到反射信号时,引脚产生一个脉冲。脉冲的长度与检测发射信号所需的时间成正比,下面例程中用的GPIOB6,所以连接STM32的GPIOB6。 GND应该连接到STM32的地。
我这边用的是HC-SR04模块+STM32F103ZET6开发板+示波器,示波器是帮助分析用,可以验证设计和实际是否一致的工具,可以不要。开发板也只是起一个连接串口调试助手,产生PWM以及输入捕获的一个功能,并不一样要和我一样的开发板,理论上任何一个开发板都可以实现这个功能。2.2软件知识 要用上面这套工具实现超声波测...
首先,先来看一下这个模块的基本功能和原理。 HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。像智能小车的测距以及转向,或是一些项目中,常常会用到。智能小车测距可以及时发现前方的障碍物,使智能小车可以及时转向,避开障碍物。
1.HC-SR04模块实物图和工作原理 1.1实物如下图,可以看到这个模块是双面贴片的,整体感觉大气,印出来了四个引脚,分别是GND,Echo,Trig,VCC具体功能见下方 1.2首先这个模块是要单独供电的,需要给VCC接5V,GND就不多说了关键是Echo和Trig这两个脚,可以看下方的时序图。
HC-SR04的时序图如下: 然后,将接收到的脉冲的宽度用于计算到反射物体的距离。这可以通过我们在初中学到的简单的距离-速度-时间方程来解决。 距离=速度x时间 接线 将HC-SR04和0.96寸OLED屏连接到STM32。 温度对距离测量的影响 尽管HC-SR04对于我们的大多数项目来说都相当准确,例如入侵者检测或接近警报;但是有时候...
HC-SR04与STM32的连接如下: VCC:连接到STM32的3.3V或5V电源。 GND:连接到STM32的地。 TRIG(触发):连接到STM32的一个GPIO引脚,用于发送触发信号。 ECHO(回声):连接到STM32的另一个GPIO引脚,用于接收回声信号。 四、软件编程 1. 初始化GPIO 首先,需要初始化STM32的GPIO引脚,用于控制TRIG和读取ECHO信号。
首先需要准备一个开发板,这里我准备的是STM32L4的开发板(BearPi): 超声波模块使用HC-SR04,如图: 该模块的四个引脚说明如下表: 超声波模块测距原理 如图,超声波模块发出超声波信号,如果前方碰到障碍物,则被障碍物反射回来,模块收到回来的超声波后,即可计算出与障碍物的距离: ...
HC-SR04的时序图如下: 然后,将接收到的脉冲的宽度用于计算到反射物体的距离。这可以通过我们在初中学到的简单的距离-速度-时间方程来解决。 距离=速度x时间 接线 将HC-SR04和0.96寸OLED屏连接到STM32。 温度对距离测量的影响 尽管HC-SR04对于我们的大多数项目...