通过 Arduino 连接超声波传感器,实现测距功能并在串口(Serial Monitor)中可读取实际测距的距离 。
时间: 2024-09-29 21:11:00 浏览: 72
arduino通过485读取温度传感器驱动淘晶驰串口屏
在Arduino中,超声波传感器(如HC-SR04或Ultrasonic Sensor)是一种常用的非接触式距离测量设备。它们通过发射超声波并测量反射回来的时间来计算物体的距离。下面是连接和使用的步骤:
1. **硬件连接**:
- 将超声波传感器的Trig(触发)引脚接到Arduino的一个数字输入引脚(例如pin 9)。
- Echo(回响)引脚接到另一个数字输入引脚(例如pin 10)。
- 如果有电源需求,将传感器的VCC(+5V)连接到Arduino的5V,GND连接到Arduino的GND。
2. **安装库**:
- 在Arduino IDE中,你需要安装超声波传感器的库。在搜索栏输入“HC_SR04”或者“Ultrasonic Library”,找到合适的库并安装。
3. **编写代码**:
```cpp
#include <SoftwareSerial.h> // 如果你的Arduino不支持直接的Serial连接
SoftwareSerial ultrasonicSensor(9, 10); // 创建软件串口连接,假设Trig=9, Echo=10
void setup() {
Serial.begin(9600); // 打开串口监视器
ultrasonicSensor.begin(400000); // 初始化超声波传感器,波特率为400kHz
}
void loop() {
int distanceCM = readDistance();
Serial.println("Distance: " + String(distanceCM) + " cm"); // 输出到串口
delay(500); // 控制测量频率,避免过于频繁影响性能
}
int readDistance() {
unsigned long duration = 0;
digitalWrite(ultrasonicSensor.pinTrig, LOW);
delayMicroseconds(2); // 释放触发按钮
digitalWrite(ultrasonicSensor.pinTrig, HIGH);
delayMicroseconds(10); // 发射超声波
digitalWrite(ultrasonicSensor.pinTrig, LOW);
while (ultrasonicSensor.read() == HIGH); // 等待回声
duration = pulseIn(ultrasonicSensor.pinEcho, LOW); // 计算回声持续时间
float speedOfSound = 330; // 声音在空气中的传播速度
float distanceMM = duration * speedOfSound / 2; // 距离计算公式
return distanceMM / 10; // 返回结果转换为厘米
}
```
4. **理解输出**:
- 串口监视器会显示出实时测得的距离,单位为厘米。
阅读全文