arduino超声波避障小车代码hc-sr04超声波测距模块
时间: 2023-09-24 08:09:50 浏览: 132
HC-SR04芯片手册和使用教程
以下是一个基本的Arduino超声波避障小车代码,该代码使用HC-SR04超声波测距模块测量距离,以避免障碍物:
```C++
#define trigPin 13
#define echoPin 12
#define motor1Pin1 9
#define motor1Pin2 8
#define motor2Pin1 7
#define motor2Pin2 6
#define ENA 5
#define ENB 4
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(motor1Pin1, OUTPUT);
pinMode(motor1Pin2, OUTPUT);
pinMode(motor2Pin1, OUTPUT);
pinMode(motor2Pin2, OUTPUT);
pinMode(ENA, OUTPUT);
pinMode(ENB, 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/2) / 29.1;
Serial.println(distance);
if (distance < 15) {
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, LOW);
} else {
digitalWrite(motor1Pin1, HIGH);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
analogWrite(ENA, 200);
analogWrite(ENB, 200);
}
}
```
该代码使用`digitalWrite()`和`analogWrite()`函数来控制小车的电机。当测距到障碍物距离小于15厘米时,电机将停止运行。否则,小车将继续向前行驶。
请注意,这只是一个基本的代码,你需要根据你的具体情况进行修改。例如,你可能需要调整电机的速度,以便更好地适应你的小车。
阅读全文