kubeadm 离线部署 Kubernetes 集群 + 完整测试【20260117】002
2026/1/17 9:42:41
HC-SR04P是HC-SR04的升级款,支持3.3V/5V双电压供电(无需电平转换,可直接与ESP32-S3的3.3V引脚兼容),核心参数:
| ESP32-S3 引脚 | HC-SR04P 引脚 | 接线说明 |
|---|---|---|
| 3.3V | VCC | 供电(也可接5V,推荐3.3V更安全) |
| GPIO14 | Trig | 触发信号输出(可自定义其他GPIO) |
| GPIO15 | Echo | 回响信号输入(可自定义其他GPIO) |
| GND | GND | 共地(必须连接,保证电平参考一致) |
https://dl.espressif.com/dl/package_esp32_index.json);/* 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);}pulseIn()函数记录Echo引脚高电平的持续时间(即超声波往返的总时间);pulseIn(pin, value):用于检测指定引脚的电平持续时间,参数pin为引脚号,value为要检测的电平(HIGH/LOW),返回值为微秒级时长;distance = (duration × 0.0343) / 2delay()时间),或多次测量取平均值;trigPin和echoPin的定义,确保为普通GPIO即可);v = 331.4 + 0.6 × T(T为摄氏温度)修正声速,进一步提高测量精度;pulseIn()函数计时、距离公式需除以2(往返修正)、声速与温度相关,可按需优化精度。