ESP32与HC-SRO4的连接和通讯

本文介绍了如何在ESP32开发板上利用HC-SR04传感器进行距离测量,包括硬件连接、程序代码编写(使用Arduino库)以及在VSCode平台上的环境配置和串口调试过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、元件图片

1、HC-SRO4:

2、ESP32开发板

二、元件连接

三、程序代码

#include <Arduino.h>

const int trigPin = 4;
const int echoPin = 16;

void setup()
{
  Serial.begin(115200);
  delay(200);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop()
{
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(15);
  digitalWrite(trigPin,LOW);

  auto t = pulseIn(echoPin, HIGH);
  double dis = t * 0.01715;
  Serial.println(dis);
  delay(200);
}

四、调试信息

1、环境

vscode + platform

2、串口调试

所有图片和信息如上!

### HC-SR04 超声波传感器 Arduino 配合使用教程 #### 连接方法 HC-SR04 是一种常用的超声波测距模块,能够测量距离并返回数据。该模块具备四个针脚:VCC、Trig(触发)、Echo(回响)以及 GND。为了使 HC-SR04 正常工作并 Arduino 通信,需按照下表连接相应的引脚[^1]。 | HC-SR04 Pin | Arduino Uno Pin | |-------------|-----------------| | VCC | 5V | | Trig | D9 (或其他数字端口) | | Echo | D8 (或其他数字端口) | | GND | GND | #### 工作原理概述 当向 Trig 发送至少 10us 的高电平时,模块自动发送 8 个 40kHz 方波,并启动定时器等待接收信号。一旦检测到障碍物反射回来的脉冲,则通过 Echo 输出相应宽度的正脉冲给控制器。此时可以通过读取此脉冲持续时间来计算目标物体的距离[^2]。 #### 示例代码 下面是一个简单的例子程序用于展示如何利用上述理论实现基本功能: ```cpp #define TRIG_PIN 9 #define ECHO_PIN 8 void setup() { Serial.begin(9600); pinMode(TRIG_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); } void loop() { long duration; int distanceCm; digitalWrite(TRIG_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); duration = pulseIn(ECHO_PIN, HIGH); // 将微秒转换成厘米单位下的距离值 distanceCm = microsecondsToCentimeters(duration); Serial.print("Distance: "); Serial.println(distanceCm); delay(500); } long microsecondsToCentimeters(long microseconds){ return microseconds / 29 / 2 ; } ``` 这段代码实现了每半秒钟获取一次当前环境内最近障碍物的位置信息并通过串行监视器打印出来。注意这里假设声音传播速度为340米/秒,在空气中近似成立;实际应用中可能需要根据具体场景调整换算比例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东成2022

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值