迷宫寻宝小车代码
时间: 2023-07-02 13:10:52 浏览: 159
迷宫小车代码
3星 · 编辑精心推荐
以下是迷宫寻宝小车的代码,使用Arduino编写:
```C++
// 定义各个引脚控制小车运动
#define IN1 2
#define IN2 3
#define IN3 4
#define IN4 5
// 定义红外传感器引脚
#define L 6
#define R 7
int left, right;
void setup() {
// 初始化引脚
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(L, INPUT);
pinMode(R, INPUT);
}
void loop() {
left = digitalRead(L); // 读取左边红外传感器的值
right = digitalRead(R); // 读取右边红外传感器的值
if (left == HIGH && right == LOW) { // 左边有障碍物,右转
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
else if (left == LOW && right == HIGH) { // 右边有障碍物,左转
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
else if (left == HIGH && right == HIGH) { // 前方有障碍物,停止
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
else { // 无障碍物,直行
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
}
```
这个代码使用两个红外传感器检测小车前方是否有障碍物,如果左边有障碍物,则向右转;如果右边有障碍物,则向左转;如果前方有障碍物,则停止;如果前方无障碍物,则直行。
阅读全文