登录/注册

智能循迹车设计教程

更多

以下是一份智能循迹车设计教程(基于Arduino平台),包含核心模块、硬件搭建和代码实现,适合初学者快速上手:


一、项目原理

循迹车通过红外反射传感器探测地面黑色轨迹线(通常为电工胶带),根据传感器信号控制电机转向,实现自动沿轨迹行驶。


二、硬件清单

模块 型号/数量 作用
主控板 Arduino UNO R3 核心控制
红外循迹模块 TCRT5000 ×5 检测地面轨迹
电机驱动模块 L298N ×1 驱动直流电机
直流减速电机 TT马达 ×2 驱动车轮
车轮 橡胶轮 ×2 动力输出
电池 18650锂电池×2 提供7.4V电源
车体底盘 亚克力底盘套件 机械结构支撑

? 电源注意:给Arduino供电时需降压至5V(可用7805稳压模块)。


三、电路连接

1. 红外传感器接线(以5个为例)

TCRT5000引脚 Arduino引脚
OUT1(最左) A0
OUT2 A1
OUT3(中) A2
OUT4 A3
OUT5(最右) A4
VCC 5V
GND GND

2. L298N电机驱动接线

L298N引脚 连接目标
IN1 D5
IN2 D6
IN3 D9
IN4 D10
OUT1/OUT2 左电机正负极
OUT3/OUT4 右电机正负极
12V输入 锂电池正极
GND 共地(接Arduino和电池负极)

四、核心代码(Arduino)

// 定义传感器引脚
#define SENSOR_L A0  // 最左侧传感器
#define SENSOR_M A2  // 中间传感器
#define SENSOR_R A4  // 最右侧传感器

// 定义电机控制引脚
#define MOTOR_LEFT_IN1 5
#define MOTOR_LEFT_IN2 6
#define MOTOR_RIGHT_IN1 9
#define MOTOR_RIGHT_IN2 10

void setup() {
  pinMode(MOTOR_LEFT_IN1, OUTPUT);
  pinMode(MOTOR_LEFT_IN2, OUTPUT);
  pinMode(MOTOR_RIGHT_IN1, OUTPUT);
  pinMode(MOTOR_RIGHT_IN2, OUTPUT);
  Serial.begin(9600); // 调试用
}

void loop() {
  int val_L = digitalRead(SENSOR_L); // 0=检测到黑线,1=未检测到
  int val_M = digitalRead(SENSOR_M);
  int val_R = digitalRead(SENSOR_R);

  // 情况1:直行(中间传感器检测到黑线)
  if (val_M == 0 && val_L == 1 && val_R == 1) {
    moveForward(150); // 150为PWM速度值
  }
  // 情况2:左偏(左侧传感器检测到线)
  else if (val_L == 0) {
    turnLeft(200); // 左轮减速,右轮加速
  }
  // 情况3:右偏(右侧传感器检测到线)
  else if (val_R == 0) {
    turnRight(200);
  }
  // 情况4:十字路口(全部检测到线)
  else if (val_L == 0 && val_M == 0 && val_R == 0) {
    moveForward(150); // 直行通过
  }
  // 其他情况停止
  else {
    stopCar();
  }
}

// 运动控制函数
void moveForward(int speed) {
  analogWrite(MOTOR_LEFT_IN1, speed);
  analogWrite(MOTOR_LEFT_IN2, 0);
  analogWrite(MOTOR_RIGHT_IN1, speed);
  analogWrite(MOTOR_RIGHT_IN2, 0);
}

void turnLeft(int adjust) {
  analogWrite(MOTOR_LEFT_IN1, adjust/2);  // 左轮减速
  analogWrite(MOTOR_LEFT_IN2, 0);
  analogWrite(MOTOR_RIGHT_IN1, adjust);   // 右轮加速
  analogWrite(MOTOR_RIGHT_IN2, 0);
}

void stopCar() {
  digitalWrite(MOTOR_LEFT_IN1, LOW);
  digitalWrite(MOTOR_LEFT_IN2, LOW);
  digitalWrite(MOTOR_RIGHT_IN1, LOW);
  digitalWrite(MOTOR_RIGHT_IN2, LOW);
}

五、调试技巧

  1. 传感器校准

    • 用螺丝刀调节TCRT5000上的电位器,使LED指示灯在黑白交界处状态翻转。
    • 正常状态:悬空时灯灭,靠近白纸灯亮,黑线处灯灭。
  2. 电机转向测试

    // 测试左电机正转
    digitalWrite(MOTOR_LEFT_IN1, HIGH);
    digitalWrite(MOTOR_LEFT_IN2, LOW);
    // 若反转则调换IN1/IN2接线
  3. PID优化(进阶): 可加入比例控制:

    int error = (val_L * 20) + (val_M * 0) + (val_R * (-20)); 
    int speedLeft = baseSpeed + error;
    int speedRight = baseSpeed - error;

六、常见问题解决

问题现象 可能原因 解决方案
车体左右摇摆剧烈 转向过冲 降低电机速度或减少差速值
过十字路口误触发转向 传感器太敏感 增大检测阈值或减少传感器数量
电机一正一反 接线相位错误 调换任意一侧电机两根线
检测白线仍停车 TCRT5000未调好阈值 重新用螺丝刀调节电位器

七、进阶扩展

  1. 增加功能

    • OLED显示实时路径
    • 超声波避障(优先级高于循迹)
    • 蓝牙遥控(手机APP切换模式)
  2. 硬件升级

    • 改用STM32提升响应速度
    • 替换编码电机实现精准闭环控制
    • 使用OpenMV做视觉识别(色块跟踪)

? 开源项目参考:GitHub搜索 "Arduino Line Follower Robot"

根据这个框架搭建,即使零基础也能在1-2天内完成智能循迹车!关键在于耐心调试传感器位置和电机响应速度。

第13章-循迹功能 STM32智能小车循迹教程 PID循迹算法分析

第13章-循迹功能 循迹小车讲解 原理分析 STM32智能小车循迹教程

2024-08-21 16:27:12

20.0-电磁杆的组装和实物介绍“这个是就是你想要的“-智能车电磁组 电磁循迹小车

电子设计大赛20.0-电磁杆的组装和实物介绍“这个是就是你想要的“-智能车电磁组 电磁循迹小车 电磁循迹 电磁

2024-08-20 11:07:06

20.3-使用两个通道进行电磁循迹 智能车竞赛 电磁杆原理图 电磁循迹小车 STM32电磁小车 电磁循迹算法

20.3-使用两个通道进行电磁循迹 智能车竞赛 电磁杆原理图 电磁循迹小车 智能车

2024-08-20 10:56:58

基于单片机的循迹小车的设计

基于单片机的循迹小车的设计方法。

资料下载 姚小熊27 2021-05-28 14:21:21

三轮循迹

51小车循迹走迷宫

资料下载 TTYYCC 2020-11-25 17:59:41

智能循迹小车的电路原理图

本文档的主要内容详细介绍的是智能循迹小车的电路原理图免费下载。

资料下载 佚名 2020-07-17 18:32:27

循迹小车的资料合集免费下载

本文档的主要内容详细介绍的是循迹小车的资料合集免费下载包括了:视频教程,循迹小车程序,L9110驱动芯片资料,循迹

资料下载 ah此生不换 2020-03-31 08:00:00

循迹智能小车的详细资料包括电路图和程序以工程文件免费下载

本文档的主要内容详细介绍的是循迹智能小车的详细资料包括电路图和程序以工程文件免费下载。

资料下载 佚名 2019-09-17 11:22:34

20.2-电磁杆在磁轨道的测试 零基础入门智能车竞赛 STM32电磁小车

20.2-电磁杆在磁轨道的测试 零基础入门智能车竞赛 智能车竞赛 电磁杆原理图 电磁循迹小车

2024-08-20 10:52:21

智能车的电磁循迹相关资料下载

飞思卡尔智能车—电磁循迹(组别通用),六路运放,适用于电磁组所有组别,电路运行稳定,且移植性较强。

2022-03-02 06:41:33

智能车控制之电磁循迹介绍

这一次,我们开始正式进入了,车辆的控制大致可以分成一下部分:循迹,需要电磁传感器,或者摄像头。这两个应该是智能车最有可能使用的传感器了,其他的就算是另辟蹊径了。然后我主要使用的是电磁。这是我最终

2022-01-19 06:23:48

怎么实现智能小车红外循迹的设计?

怎么实现智能小车红外循迹的设计?

2022-01-18 07:30:14

电磁循迹智能车是由哪些模块组成的

我的第一辆智能车—电磁循迹智能车以下是所用的模块:舵机,电机,L298N驱动模块,PID算法,OLED,电磁杆,ADC多路采集配置DMA,干簧管

2022-01-14 09:08:34

PID循迹模块原理

前言 让小车进行循迹最重要的是获取车相对于循迹线的位置,关于循迹模块的原

2021-09-07 06:29:53

智能循迹小车简介

简介智能循迹小车是基于自动引导机器人系统,用以实现小车自动识别路线,以及选择正确的路线。智能

2021-07-21 07:29:12
7天热门专题 换一换
相关标签