当前位置: 首页 > news >正文

四川网站建设咨询/广东深圳今天最新通知

四川网站建设咨询,广东深圳今天最新通知,新疆住房与建设厅网站,怎么做自己的公司网站放在百度HC-SR04是一款广泛使用的超声波传感器,它通过发射和接收超声波来测量距离。本文将详细介绍HC-SR04的工作原理、引脚描述、STM32的接线方式以及如何通过STM32控制HC-SR04来测量距离。 一、HC-SR04传感器介绍 HC-SR04超声波传感器的主要参数如下: 工作电…

HC-SR04是一款广泛使用的超声波传感器,它通过发射和接收超声波来测量距离。本文将详细介绍HC-SR04的工作原理、引脚描述、STM32的接线方式以及如何通过STM32控制HC-SR04来测量距离。

一、HC-SR04传感器介绍

HC-SR04超声波传感器的主要参数如下:

  • 工作电压:DC 5V
  • 工作电流:3.3mA
  • 工作温度:-40~85℃
  • 输出方式:GPIO
  • 探测距离:2cm~600cm
  • 探测精度:3mm

二、传感器原理

HC-SR04模块包括一个超声波发射器和一个接收器。发射器向一个方向发射超声波,当超声波碰到障碍物后会反射回来,接收器接收反射波。通过计算发射到接收的时间差,结合声速,可以计算出距离。

三、硬件连接

HC-SR04与STM32的连接如下:

  • VCC:连接到STM32的3.3V或5V电源。
  • GND:连接到STM32的地。
  • TRIG(触发):连接到STM32的一个GPIO引脚,用于发送触发信号。
  • ECHO(回声):连接到STM32的另一个GPIO引脚,用于接收回声信号。

四、软件编程

1. 初始化GPIO

首先,需要初始化STM32的GPIO引脚,用于控制TRIG和读取ECHO信号。

#include "stm32f1xx_hal.h"#define TRIG_PIN GPIO_PIN_6
#define ECHO_PIN GPIO_PIN_7
#define TRIG_PORT GPIOA
#define ECHO_PORT GPIOAvoid GPIO_Init(void) {GPIO_InitTypeDef GPIO_InitStruct = {0};__HAL_RCC_GPIOA_CLK_ENABLE();GPIO_InitStruct.Pin = TRIG_PIN | ECHO_PIN;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull = GPIO_NOPULL;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(TRIG_PORT, &GPIO_InitStruct);
}

2. 测量距离函数

实现测量距离的函数,通过控制TRIG引脚发送触发信号,并通过ECHO引脚读取回声信号。

#include "stm32f1xx_hal.h"
#include "tim.h"uint32_t HCSR04_GetDistance(void) {uint32_t distance;uint32_t pulse_time = 0;// 发送触发信号HAL_GPIO_WritePin(TRIG_PORT, TRIG_PIN, GPIO_PIN_SET);HAL_Delay(10); // 至少10us的高电平HAL_GPIO_WritePin(TRIG_PORT, TRIG_PIN, GPIO_PIN_RESET);// 等待ECHO引脚变为高电平while(HAL_GPIO_ReadPin(ECHO_PORT, ECHO_PIN) == GPIO_PIN_RESET);// 记录高电平开始时间uint32_t start_time = HAL_GetTick();// 等待ECHO引脚变为低电平while(HAL_GPIO_ReadPin(ECHO_PORT, ECHO_PIN) == GPIO_PIN_SET);// 记录高电平结束时间uint32_t end_time = HAL_GetTick();// 计算高电平持续时间pulse_time = end_time - start_time;// 计算距离distance = (pulse_time * 34300) / 2; // 声速约为34300cm/sreturn distance;
}

3. 主函数

在主函数中,初始化硬件并循环测量距离。

int main(void) {HAL_Init();SystemClock_Config();GPIO_Init();TIM2_Init(); // 初始化定时器,用于测量时间while (1) {uint32_t distance = HCSR04_GetDistance();printf("Distance: %lu cm\n", distance);HAL_Delay(1000);}
}

五、注意事项

  1. 触发信号:确保TRIG引脚发送的触发信号至少持续10us。
  2. 回声信号:ECHO引脚读取的是回声信号的高电平持续时间,用于计算距离。
  3. 声速:声速在不同介质中的速度不同,本例中假设声速为34300cm/s。

通过上述步骤,我们可以在STM32上成功驱动HC-SR04超声波传感器,并实现距离的测量。这为开发需要距离测量功能的嵌入式系统提供了基础。

✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进

❤欢迎关注我的知乎:对error视而不见

代码获取、问题探讨及文章转载可私信。

☁ 愿你的生命中有够多的云翳,来造就一个美丽的黄昏。

🍎获取更多嵌入式资料可点击链接进群领取,谢谢支持!👇

点击领取更多详细资料

http://www.jmfq.cn/news/5310757.html

相关文章:

  • 电子商务网站建设的模式/域名搜索引擎
  • 建设部招标网 官方网站/营销网站建设哪家快
  • 石家庄建设网站哪家好/seo俱乐部
  • 美容加盟网站建设/国内免费域名注册网站
  • 广州网站建设V芯ee8888e/站长工具查询域名信息
  • 吉林电商网站建设价格/网络营销推广方式有哪些
  • 昆明网站建设昆明/关键词营销推广
  • 移动网站建设价格/谷歌seo引擎优化
  • 政府门户网站建设招标文件/国家职业技能培训学校
  • 完美网站建设/网络热词2022流行语及解释
  • 动态网站建设 js/柳州今日头条新闻
  • 海南省建设培训与执业资格注册中心网站/360优化关键词
  • 宁夏公路建设局网站/网络营销心得体会
  • 农业信息网站 建设/百度seo怎么查排名
  • 西宁市网站建设公司/江门百度seo公司
  • 承德市外贸网站建设/潍坊seo招聘
  • 中国建设网站下载/网络媒体软文案例
  • 网站建设原/seo网站外包公司
  • 河南省村镇建设处网站/优化服务公司
  • 海原网站建设/淘宝指数网站
  • 济南市建设银行网站/品牌营销活动策划方案
  • 网站建设证有/网站快速排名公司
  • 网站建设三大部分/免费发外链的网站
  • 网站建设公司海报/重庆关键词排名推广
  • 网站建设服务热线/百度问答首页
  • 北京网站建设公司报价/网络推广营销方法
  • 合肥网站建设第一品牌/steam交易链接怎么看
  • 黑龙江省建设会计协会网站首页/比较靠谱的网站
  • 建设网站所需资料/网站建设工作总结
  • 聊城宏远网站建设优化/谷歌引擎搜索入口