基于arduino的超声波测距代码
时间: 2023-07-31 15:09:23 浏览: 65
以下是基于Arduino的超声波测距代码:
```
const int trigPin = 9; // 超声波发射引脚
const int echoPin = 10; // 超声波接收引脚
void setup() {
Serial.begin(9600); // 设置串口波特率为9600
pinMode(trigPin, OUTPUT); // 将超声波发射引脚设置为输出模式
pinMode(echoPin, INPUT); // 将超声波接收引脚设置为输入模式
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW); // 发射前先将发射引脚设置为低电平
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); // 发射超声波信号
delayMicroseconds(10);
digitalWrite(trigPin, LOW); // 停止发射超声波信号
duration = pulseIn(echoPin, HIGH); // 计算超声波从发射到接收的时间
distance = duration / 58.2; // 将时间转换为距离,单位为厘米
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(500); // 延时0.5秒后重新执行
}
```
在上述代码中,我们使用了pulseIn()函数来计算超声波从发射到接收的时间,然后将时间转换为距离。这里需要注意的是,声波在空气中的传播速度为每秒340米,而声波在传输过程中会经过多次反射和折射,因此需要将计算出的时间除以2再除以58.2来得到距离。
阅读全文