news 2026/4/16 11:00:06

【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进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/8 19:22:29

Turso 数据库——以 Rust 编写的高效 SQL 数据库

Turso 数据库——以 Rust 编写的高效 SQL 数据库 简介 Turso 是一个嵌入式 SQL 数据库,完全兼容 SQLite,旨在提供更高的性能和更丰富的功能。它由 Rust 编写,充分利用了 Rust 的高效性和安全性,适用于多种应用场景。尽管该软件仍…

作者头像 李华
网站建设 2026/4/15 13:35:45

语音断句处理对GPT-SoVITS输出的影响研究

语音断句处理对GPT-SoVITS输出的影响研究 在AI语音合成技术飞速发展的今天,我们已经可以仅凭一分钟的录音克隆出几乎一模一样的声音。开源项目GPT-SoVITS正是这一浪潮中的明星选手——它让普通人也能轻松拥有自己的“数字分身”。但你有没有遇到过这种情况&#xff…

作者头像 李华
网站建设 2026/4/13 5:59:15

HTTP物联网网关是什么?有什么功能?

HTTP物联网网关是连接物联网设备与云端平台的核心设备,它以HTTP协议为基础,实现设备与云端之间的数据交互,并具备协议转换、数据预处理、安全管理和设备管理等功能。以下是详细介绍:一、核心定义HTTP物联网网关是一种硬件或软件设…

作者头像 李华
网站建设 2026/4/4 1:48:56

GPT-SoVITS模型蒸馏可行性研究:轻量化之路

GPT-SoVITS模型蒸馏可行性研究:轻量化之路 在智能语音交互日益普及的今天,用户不再满足于“能说话”的AI助手,而是期待它拥有专属音色、自然语调和个性表达。个性化语音合成——尤其是仅凭几分钟录音就能复刻一个人声音的技术——正从实验室走…

作者头像 李华
网站建设 2026/4/11 8:43:48

好用的PC耐力板机构哪家好

好用的PC耐力板机构哪家好在众多建筑和工业材料中,PC耐力板以其卓越性能受到广泛关注。那么,有哪些好用的PC耐力板机构呢?下面为您分析。PC耐力板市场现状行业报告显示,近年来PC耐力板市场规模持续扩大,众多机构纷纷涌…

作者头像 李华
网站建设 2026/4/14 2:50:03

Java并发机制的底层实现原理

一、synchronized的实现原理与应用 在多线程并发编程中synchronized被称为重量级锁。但Java1.6对synchronized进行了各种优化。synchronized实现同步的基础:Java中的每一个对象都可以作为锁。具体表现为以下3种形式。 1、对于普通同步方法,锁是当前实例对象--synchron…

作者头像 李华