用arduino写一个寻迹小车代码
时间: 2024-01-02 10:02:09 浏览: 41
好的,以下是一个基于 Arduino 的寻迹小车的代码示例:
```
// 引入头文件
#include <AFMotor.h>
// 定义红外线引脚
const int leftPin = 2;
const int rightPin = 3;
// 定义电机引脚
AF_DCMotor motorL(1);
AF_DCMotor motorR(2);
void setup() {
// 初始化电机控制
motorL.setSpeed(150);
motorR.setSpeed(150);
// 初始化红外线引脚
pinMode(leftPin, INPUT);
pinMode(rightPin, INPUT);
}
void loop() {
// 读取红外线传感器状态
int leftState = digitalRead(leftPin);
int rightState = digitalRead(rightPin);
// 判断传感器状态,决定小车的运动方向
if (leftState == HIGH && rightState == LOW) {
// 左转
motorL.run(BACKWARD);
motorR.run(FORWARD);
} else if (leftState == LOW && rightState == HIGH) {
// 右转
motorL.run(FORWARD);
motorR.run(BACKWARD);
} else if (leftState == LOW && rightState == LOW) {
// 直行
motorL.run(FORWARD);
motorR.run(FORWARD);
} else {
// 停止
motorL.run(RELEASE);
motorR.run(RELEASE);
}
}
```
在这个示例代码中,我们使用了两个红外线传感器来检测小车的行驶方向,当左边的传感器检测到黑色线条时,小车会向左转;当右边的传感器检测到黑色线条时,小车会向右转;当两个传感器都没有检测到黑色线条时,小车会直行;当两个传感器都检测到黑色线条时,小车会停止。
当然,这只是一个示例代码,您可以根据自己的需求进行修改和优化。希望对您有所帮助!