写一个arduino小车避障代码
时间: 2024-05-09 09:14:19 浏览: 96
以下是一个简单的Arduino小车避障代码,适用于使用超声波传感器的小车:
```
#include <NewPing.h>
#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 200
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(9600);
}
void loop() {
delay(50);
unsigned int uS = sonar.ping();
int distance = uS / US_ROUNDTRIP_CM;
Serial.print("Distance: ");
Serial.println(distance);
if(distance < 10) { // 如果障碍物距离小于10cm
// 向右转
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
delay(500);
} else { // 如果没有障碍物
// 直行
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
}
}
```
代码中使用了NewPing库来进行超声波测距,如果距离小于10cm,小车会向右转500ms,否则会直行。具体的马达控制部分根据不同的电机和电路有所不同,需要根据具体情况进行修改。
阅读全文