超声波测距系统程序
时间: 2023-07-24 16:05:47 浏览: 37
以下是一个基于Arduino的超声波测距系统程序示例:
```
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.println(distance);
delay(500);
}
```
这个程序使用了Arduino的数字引脚9和10来连接超声波传感器。在setup()函数中,设置这两个引脚的输入输出模式,并通过Serial.begin()函数开启串口通信。在loop()函数中,首先将触发引脚(trigPin)置为低电平,然后延时2微秒,接着将触发引脚置为高电平,延时10微秒,最后将触发引脚置为低电平。这个过程产生了一个8个周期的40kHz超声波脉冲,用于触发超声波传感器。通过pulseIn()函数可以获取回波信号的高电平持续时间(单位:微秒),然后根据声速(340m/s)和时间计算出距离(单位:厘米)。最后将距离通过串口输出,延时500毫秒后再进行下一次测量。