给我一个使用arduino,TCRT5000,l298n做的循迹小车教程
时间: 2024-05-15 14:19:05 浏览: 167
L298N直流电机调速,循迹小车示例.zip
好的,以下是使用Arduino、TCRT5000和L298N模块制作循迹小车的教程:
材料:
- Arduino UNO板
- TCRT5000红外光电传感器模块
- L298N双路电机驱动模块
- 直流电机(2个)
- 小车底盘
- 面包板
- 杜邦线
- 9V电池
步骤:
1.将L298N模块的ENA和ENB引脚接到Arduino板的数字引脚9和10上,将IN1、IN2、IN3和IN4引脚分别接到数字引脚2、3、4和5上。
2.将TCRT5000模块的VCC和GND引脚接到Arduino板的5V和GND上,将OUT引脚接到数字引脚7和8上。
3.将两个直流电机的正负极分别接到L298N模块的M1和M2上。
4.将电池的正极接到L298N模块的12V接口上,将负极接到模块的GND接口上。
5.将Arduino板和模块固定在小车底盘上。
6.将两个TCRT5000模块粘在小车底盘前部分,让其对着地面。
7.将代码上传到Arduino板中,代码如下:
```
int LeftSensor = 7;
int RightSensor = 8;
int LeftMotorInput1 = 2;
int LeftMotorInput2 = 3;
int RightMotorInput3 = 4;
int RightMotorInput4 = 5;
void setup ()
{
pinMode(LeftSensor, INPUT);
pinMode(RightSensor, INPUT);
pinMode(LeftMotorInput1, OUTPUT);
pinMode(LeftMotorInput2, OUTPUT);
pinMode(RightMotorInput3, OUTPUT);
pinMode(RightMotorInput4, OUTPUT);
}
void loop ()
{
if (digitalRead(LeftSensor) == LOW && digitalRead(RightSensor) == LOW) // 循迹小车已经到了黑线上,小车前进
{
digitalWrite(LeftMotorInput1, HIGH);
digitalWrite(LeftMotorInput2, LOW);
digitalWrite(RightMotorInput3, HIGH);
digitalWrite(RightMotorInput4, LOW);
}
else if (digitalRead(LeftSensor) == HIGH && digitalRead(RightSensor) == LOW) // 循迹小车正在左转弯
{
digitalWrite(LeftMotorInput1, LOW);
digitalWrite(LeftMotorInput2, LOW);
digitalWrite(RightMotorInput3, HIGH);
digitalWrite(RightMotorInput4, LOW);
}
else if (digitalRead(LeftSensor) == LOW && digitalRead(RightSensor) == HIGH) // 循迹小车正在右转弯
{
digitalWrite(LeftMotorInput1, HIGH);
digitalWrite(LeftMotorInput2, LOW);
digitalWrite(RightMotorInput3, LOW);
digitalWrite(RightMotorInput4, LOW);
}
else if (digitalRead(LeftSensor) == HIGH && digitalRead(RightSensor) == HIGH) // 循迹小车已经到了交叉点,小车停止
{
digitalWrite(LeftMotorInput1, LOW);
digitalWrite(LeftMotorInput2, LOW);
digitalWrite(RightMotorInput3, LOW);
digitalWrite(RightMotorInput4, LOW);
}
}
```
8.将电池连接到小车底盘上,开启开关,循迹小车就可以自动行驶了。
希望上述教程可以帮助到你!
阅读全文