arduino超声波电机避障小车代码
时间: 2023-09-08 09:11:28 浏览: 57
以下是一个基础的 Arduino 超声波电机避障小车代码:
```
//定义超声波引脚
#define trigPin 9
#define echoPin 10
//定义电机引脚
#define leftMotorA 5
#define leftMotorB 6
#define rightMotorA 10
#define rightMotorB 11
//定义超声波距离阈值
#define threshold 20
void setup() {
//初始化串口
Serial.begin(9600);
//初始化超声波引脚
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
//初始化电机引脚
pinMode(leftMotorA, OUTPUT);
pinMode(leftMotorB, OUTPUT);
pinMode(rightMotorA, OUTPUT);
pinMode(rightMotorB, OUTPUT);
}
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;
//输出距离
Serial.print(distance);
Serial.println(" cm");
//如果距离小于阈值,后退并左转
if (distance < threshold) {
digitalWrite(leftMotorA, LOW);
digitalWrite(leftMotorB, HIGH);
digitalWrite(rightMotorA, LOW);
digitalWrite(rightMotorB, HIGH);
delay(1000);
digitalWrite(leftMotorA, HIGH);
digitalWrite(leftMotorB, LOW);
digitalWrite(rightMotorA, LOW);
digitalWrite(rightMotorB, HIGH);
delay(1000);
}
//否则前进
else {
digitalWrite(leftMotorA, HIGH);
digitalWrite(leftMotorB, LOW);
digitalWrite(rightMotorA, HIGH);
digitalWrite(rightMotorB, LOW);
}
}
```
在这个代码中,我们使用了一个超声波传感器来检测前方是否有障碍物。如果距离小于设定的阈值,则车辆会后退并左转。否则,它会继续前进。需要注意的是,这个代码只是一个基础的示例,实际应用中可能需要根据具体情况进行调整。