news 2026/1/2 8:16:23

【ESP32-S3】对接HC SR04P超声波传感器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【ESP32-S3】对接HC SR04P超声波传感器

对接HC SR04P超声波传感器

    • 一、硬件基础说明
      • 1. HC-SR04P 核心特性
      • 2. 硬件接线表(ESP32-S3 ↔ HC-SR04P)
      • 3. 接线注意事项
    • 二、软件实现(Arduino IDE环境)
      • 1. 前期准备
      • 2. 完整代码实现
    • 三、核心原理详解
      • 1. 传感器工作流程
      • 2. 关键函数与公式说明
    • 四、常见问题排查
    • 五、进阶优化建议
      • 总结

一、硬件基础说明

1. HC-SR04P 核心特性

HC-SR04P是HC-SR04的升级款,支持3.3V/5V双电压供电(无需电平转换,可直接与ESP32-S3的3.3V引脚兼容),核心参数:

  • 测量距离:2cm~450cm
  • 测量精度:±1cm
  • 工作频率:40kHz
  • 引脚定义:VCC(电源)、Trig(触发输入)、Echo(回响输出)、GND(接地)

2. 硬件接线表(ESP32-S3 ↔ HC-SR04P)

ESP32-S3 引脚HC-SR04P 引脚接线说明
3.3VVCC供电(也可接5V,推荐3.3V更安全)
GPIO14Trig触发信号输出(可自定义其他GPIO)
GPIO15Echo回响信号输入(可自定义其他GPIO)
GNDGND共地(必须连接,保证电平参考一致)

3. 接线注意事项

  • 务必共地(GND直接连接),否则会出现测量数据紊乱或无响应;
  • ESP32-S3的GPIO引脚无需额外上拉/下拉电阻,传感器自带驱动电路;
  • 避免将Trig/Echo接在ESP32-S3的烧录引脚(如GPIO0、GPIO1),防止影响程序下载。

二、软件实现(Arduino IDE环境)

1. 前期准备

  • 安装ESP32-S3的Arduino开发板支持包(在「文件」→「首选项」中添加附加开发板管理器网址:https://dl.espressif.com/dl/package_esp32_index.json);
  • 确认开发板选择:「工具」→「开发板」→「ESP32」→「ESP32 S3 Dev Module」。

2. 完整代码实现

/* ESP32-S3 对接 HC-SR04P 超声波传感器 Trig引脚:GPIO14 Echo引脚:GPIO15 */// 定义引脚constinttrigPin=14;// 触发引脚constintechoPin=15;// 回响引脚// 变量定义longduration;// 存储Echo引脚高电平持续时间(微秒)floatdistance;// 存储测量距离(厘米)voidsetup(){// 初始化串口(波特率115200,用于打印测量结果)Serial.begin(115200);// 初始化引脚模式pinMode(trigPin,OUTPUT);// Trig设为输出模式(发送触发信号)pinMode(echoPin,INPUT);// Echo设为输入模式(接收回响信号)}voidloop(){// 步骤1:发送触发信号(Trig引脚输出10微秒高电平)digitalWrite(trigPin,LOW);// 先拉低电平,稳定触发信号delayMicroseconds(2);digitalWrite(trigPin,HIGH);// 输出高电平,触发传感器发送超声波delayMicroseconds(10);digitalWrite(trigPin,LOW);// 拉低电平,结束触发// 步骤2:读取回响信号持续时间(pulseIn函数:等待引脚变为高电平并返回持续时间)duration=pulseIn(echoPin,HIGH);// 步骤3:计算距离(核心公式)// 原理:超声波速度≈343米/秒 = 0.0343厘米/微秒 = 34300厘米/秒// 距离 = (超声波往返时间 × 声速)/ 2 (往返需除以2得到单程距离)distance=(duration*0.0343)/2;// 步骤4:串口打印测量结果Serial.print("测量距离:");Serial.print(distance);Serial.println(" cm");// 测量间隔:500毫秒(可根据需求调整,避免测量过于频繁)delay(500);}

三、核心原理详解

1. 传感器工作流程

  1. 触发阶段:ESP32-S3通过Trig引脚输出10微秒高电平,触发HC-SR04P内部电路发射8个40kHz的超声波脉冲;
  2. 回响阶段:超声波遇到障碍物反射后,被传感器接收,Echo引脚立即由低电平转为高电平;
  3. 计时阶段:ESP32-S3通过pulseIn()函数记录Echo引脚高电平的持续时间(即超声波往返的总时间);
  4. 计算阶段:通过声速公式换算出单程距离,得到实际障碍物距离。

2. 关键函数与公式说明

  • pulseIn(pin, value):用于检测指定引脚的电平持续时间,参数pin为引脚号,value为要检测的电平(HIGH/LOW),返回值为微秒级时长;
  • 距离计算公式:distance = (duration × 0.0343) / 2
    • 声速补偿:实际使用中,温度会影响声速(温度每升高1℃,声速增加约0.6米/秒),如需更高精度,可增加温度传感器进行补偿;
    • 往返修正:超声波从发射到接收是往返路径,因此必须除以2才能得到实际障碍物距离。

四、常见问题排查

  1. 无测量数据/串口无输出
    • 检查接线是否正确(尤其是GND共地,Trig/Echo引脚是否接反);
    • 确认ESP32-S3开发板是否正常上电,串口波特率是否与代码一致(115200);
  2. 测量数据波动过大
    • 增加测量间隔(如延长delay()时间),或多次测量取平均值;
    • 避免在强气流、多反射环境中测量(如空旷房间、靠近墙面);
  3. 测量距离偏差过大
    • 检查是否忘记将计算结果除以2(往返修正);
    • 环境温度差异较大时,需补充声速温度补偿公式;
  4. 传感器不响应
    • 确认供电电压是否稳定(3.3V供电时,电流不足可能导致传感器失效,可外接稳压电源)。

五、进阶优化建议

  1. 提高测量精度:多次测量(如5次)取平均值,过滤异常值(如距离>450cm或<2cm的无效数据);
  2. 引脚自定义:可根据实际硬件布局修改Trig/Echo引脚(只需修改代码中trigPinechoPin的定义,确保为普通GPIO即可);
  3. 温度补偿:添加DS18B20温度传感器,通过公式v = 331.4 + 0.6 × T(T为摄氏温度)修正声速,进一步提高测量精度;
  4. 数据可视化:通过串口将数据上传到电脑,或通过ESP32-S3的WiFi功能上传到物联网平台,实现远程查看距离数据。

总结

  1. 硬件上:ESP32-S3与HC-SR04P可直接对接(无需电平转换),核心是Trig触发、Echo接收、共地连接;
  2. 软件上:核心流程为「发送10μs高电平触发→读取Echo高电平时长→公式计算距离→串口输出」;
  3. 关键要点:pulseIn()函数计时、距离公式需除以2(往返修正)、声速与温度相关,可按需优化精度。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/24 12:05:59

智普AutoGLM究竟强在哪?:3大核心技术解析颠覆你的认知

第一章:智普Open-AutoGLM 沉思在人工智能与自动化深度融合的当下,智普推出的 Open-AutoGLM 项目为大语言模型的自主任务执行提供了全新范式。该项目结合了 GLM 大模型的强大语义理解能力与自动化决策框架,使得机器能够在复杂环境中感知、推理…

作者头像 李华
网站建设 2025/12/24 12:05:07

【Open-AutoGLM唤醒全攻略】:5步实现模型高效激活与部署

第一章:Open-AutoGLM唤醒全攻略导论Open-AutoGLM 是一个面向自动化自然语言处理任务的开源框架,旨在通过轻量级接口实现大语言模型的快速部署与调用。该框架支持多种推理模式,包括本地加载、API 调用以及边缘设备适配,适用于从开发…

作者头像 李华
网站建设 2025/12/24 12:04:53

质谱AI分析新纪元开启,Open-AutoGLM私有化部署仅需这7步

第一章:质谱AI分析新纪元的技术背景近年来,质谱技术在生物医学、环境监测和药物研发等领域取得了突破性进展。随着高通量数据的爆发式增长,传统数据分析方法已难以应对复杂、高维的质谱信号处理需求。在此背景下,人工智能&#xf…

作者头像 李华
网站建设 2025/12/24 12:04:12

Open-AutoGLM apk使用全攻略(从安装到实战部署)

第一章:Open-AutoGLM apk使用全攻略概述Open-AutoGLM 是一款基于开源大语言模型的本地化推理应用,通过其 APK 安装包可在 Android 设备上实现离线自然语言处理与代码生成能力。该应用融合了 GLM 架构的高效推理特性,支持多场景下的文本补全、…

作者头像 李华
网站建设 2025/12/31 17:16:08

影视后期配音新思路:GPT-SoVITS辅助剪辑工作流

影像叙事的新声:当GPT-SoVITS重塑配音流程 在一部动画电影的后期制作现场,导演突然决定修改主角的关键台词。传统流程下,这意味着要重新联系配音演员、预约录音棚、调整口型对齐——至少三天的等待和上万元的成本。但现在,剪辑师只…

作者头像 李华
网站建设 2025/12/24 11:59:12

GPT-SoVITS训练过程可视化:理解模型收敛状态

GPT-SoVITS训练过程可视化:理解模型收敛状态 在个性化语音合成的浪潮中,一个核心挑战始终存在:如何用最少的数据,还原最真实的声音?传统TTS系统往往依赖数小时高质量录音才能产出自然语音,这显然不适用于普…

作者头像 李华