// 定义超声波模块的Trig和Echo引脚
#define TRIG_PIN 21
#define ECHO_PIN 22
// 定义声速(以cm/s为单位)
#define SPEED_OF_SOUND 34029
void setup() {
Serial.begin(115200); // 启动串口通信
pinMode(TRIG_PIN, OUTPUT); // 设置Trig引脚为输出
pinMode(ECHO_PIN, INPUT); // 设置Echo引脚为输入
}
void loop() {
float duration, distance;
// 清除Trig引脚
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
// 发送10微秒的脉冲到Trig引脚
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// 读取Echo引脚的高电平时间(脉冲持续时间)
duration = pulseIn(ECHO_PIN, HIGH);
// 计算距离(时间 * 音速 / 2,因为声音需要往返)
distance = duration * SPEED_OF_SOUND / 2 / 1000000.0f;
// 打印距离到串口监视器
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// 稍作延迟以便看到变化
delay(500);
}