利用arduino电机驱动模块循迹模块。按如下要求设计:制作寻迹小车。给出完整代码以及各部分具体连接
以下是利用arduino,电机驱动模块和循迹模块制作寻迹小车的详细设计:
材料清单:
- Arduino UNO
- 2个直流电机
- 电机驱动模块(例如L298N)
- 循迹模块(例如TCRT5000)
- 面包板
- 杜邦线
- 9V电池
连接电机驱动模块:
- 将arduino的5V引脚连接到电机驱动模块的VCC引脚
- 将arduino的GND引脚连接到电机驱动模块的GND引脚
- 将arduino的D9引脚连接到电机驱动模块的ENA引脚
- 将arduino的D10引脚连接到电机驱动模块的IN1引脚
- 将arduino的D11引脚连接到电机驱动模块的IN2引脚
- 将arduino的D5引脚连接到电机驱动模块的ENB引脚
- 将arduino的D6引脚连接到电机驱动模块的IN3引脚
- 将arduino的D7引脚连接到电机驱动模块的IN4引脚
- 将电机的正极连接到电机驱动模块的OUT1和OUT2引脚
- 将电机的负极连接到电机驱动模块的OUT3和OUT4引脚
连接循迹模块:
- 将循迹模块的VCC引脚连接到arduino的5V引脚
- 将循迹模块的GND引脚连接到arduino的GND引脚
- 将循迹模块的DO引脚连接到arduino的D2引脚
- 将循迹模块的AO引脚连接到arduino的A0引脚
编写代码:
int leftMotorSpeed = 150; // 左电机速度
int rightMotorSpeed = 150; // 右电机速度
int threshold = 500; // 循迹模块的阈值
void setup() {
pinMode(9, OUTPUT); // ENA引脚
pinMode(10, OUTPUT); // IN1引脚
pinMode(11, OUTPUT); // IN2引脚
pinMode(5, OUTPUT); // ENB引脚
pinMode(6, OUTPUT); // IN3引脚
pinMode(7, OUTPUT); // IN4引脚
pinMode(2, INPUT); // DO引脚
pinMode(A0, INPUT); // AO引脚
}
void loop() {
int leftSensor = analogRead(A0);
int rightSensor = analogRead(A0+1);
if (leftSensor > threshold && rightSensor > threshold) { // 直行
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
} else if (leftSensor < threshold && rightSensor > threshold) { // 左偏
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
} else if (leftSensor > threshold && rightSensor < threshold) { // 右偏
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
} else { // 停止
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
}
analogWrite(9, leftMotorSpeed);
analogWrite(5, rightMotorSpeed);
}
寻迹小车制作完成后,将9V电池连接到arduino的电源口,放在地面上进行测试,小车会根据地面的黑线自动行驶
原文地址: https://www.cveoy.top/t/topic/fbCa 著作权归作者所有。请勿转载和采集!