基于arduino的超声波避障
时间: 2023-07-26 08:10:29 浏览: 115
智能小车超声波避障arduino
超声波避障是一种常见的基于Arduino的项目,可以通过测量超声波的回响时间来检测前方是否有障碍物,从而控制机器人或小车避免碰撞。
以下是一个基于Arduino UNO的超声波避障的示例代码:
```
#define trigPin 13
#define echoPin 12
#define ledPin 11
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
if (distance < 20) { // 障碍物距离小于20厘米时,点亮LED
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(500); // 延时500毫秒后再次检测
}
```
该代码中,trigPin和echoPin分别连接到超声波模块的Trig和Echo引脚,ledPin连接到LED灯。在循环中,先向Trig引脚发送一个10微秒的高电平脉冲,然后读取Echo引脚的回响时间,通过计算得到障碍物距离。如果距离小于20厘米,就点亮LED灯,否则关闭LED灯。每次检测间隔500毫秒。你可以根据实际情况调整代码中的参数,以适应不同的应用场景。
阅读全文