以下是一份智能循迹车设计教程(基于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);
}
五、调试技巧
-
传感器校准:
- 用螺丝刀调节TCRT5000上的电位器,使LED指示灯在黑白交界处状态翻转。
- 正常状态:悬空时灯灭,靠近白纸灯亮,黑线处灯灭。
-
电机转向测试:
// 测试左电机正转 digitalWrite(MOTOR_LEFT_IN1, HIGH); digitalWrite(MOTOR_LEFT_IN2, LOW); // 若反转则调换IN1/IN2接线 -
PID优化(进阶): 可加入比例控制:
int error = (val_L * 20) + (val_M * 0) + (val_R * (-20)); int speedLeft = baseSpeed + error; int speedRight = baseSpeed - error;
六、常见问题解决
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 车体左右摇摆剧烈 | 转向过冲 | 降低电机速度或减少差速值 |
| 过十字路口误触发转向 | 传感器太敏感 | 增大检测阈值或减少传感器数量 |
| 电机一正一反 | 接线相位错误 | 调换任意一侧电机两根线 |
| 检测白线仍停车 | TCRT5000未调好阈值 | 重新用螺丝刀调节电位器 |
七、进阶扩展
-
增加功能:
- OLED显示实时路径
- 超声波避障(优先级高于循迹)
- 蓝牙遥控(手机APP切换模式)
-
硬件升级:
- 改用STM32提升响应速度
- 替换编码电机实现精准闭环控制
- 使用OpenMV做视觉识别(色块跟踪)
? 开源项目参考:GitHub搜索 "Arduino Line Follower Robot"
根据这个框架搭建,即使零基础也能在1-2天内完成智能循迹车!关键在于耐心调试传感器位置和电机响应速度。
20.3-使用两个通道进行电磁循迹 智能车竞赛 电磁杆原理图 电磁循迹小车 STM32电磁小车 电磁循迹算法
20.3-使用两个通道进行电磁循迹 智能车竞赛 电磁杆原理图 电磁循迹小车 智能车电磁组 STM32电磁小车 电磁循迹小车 电磁循迹算法 智能车环岛 智能车比赛规则 归一化处理 差比和计算 PID算
2024-08-20 10:56:58
电磁循迹智能车是由哪些模块组成的
我的第一辆智能车—电磁循迹智能车以下是所用的模块:舵机,电机,L298N驱动模块,PID算法,OLED,电磁杆,ADC多路采集配置DMA,干簧管,普通GPIO口使用。1.舵机模块舵机,三条线路,一条
liutiefu
2022-01-14 09:08:34
20.0-电磁杆的组装和实物介绍“这个是就是你想要的“-智能车电磁组 电磁循迹小车
电子设计大赛20.0-电磁杆的组装和实物介绍“这个是就是你想要的“-智能车电磁组 电磁循迹小车 电磁循迹 电磁循迹小车代码 电磁杆的制作 电磁杆原理图PCB设计
2024-08-20 11:07:06
智能车控制之电磁循迹介绍
这一次,我们开始正式进入了,车辆的控制大致可以分成一下部分:循迹,需要电磁传感器,或者摄像头。这两个应该是智能车最有可能使用的传感器了,其他的就算是另辟蹊径了。然后我主要使用的是电磁。这是我最终
h1654155957.9520
2022-01-19 06:23:48
第13章-循迹功能 STM32智能小车循迹教程 PID循迹算法分析
第13章-循迹功能 循迹小车讲解 原理分析 STM32智能小车循迹教程 红外对管使用 PID循迹算法分析V3:HAL库开发、功能:PID速度控制、PID循迹、PID跟随、遥控、避障、PID角度控制
2024-08-21 16:27:12
PID循迹模块原理
前言 让小车进行循迹最重要的是获取车相对于循迹线的位置,关于循迹模块的原理我已经在之前的一篇博客上讲过,如果大家没看过的话可以点此链接:PID循迹模块原理。PID循迹原理简介图1 循迹车寻线行走图示
费加罗
2021-09-07 06:29:53
智能循迹小车简介
简介智能循迹小车是基于自动引导机器人系统,用以实现小车自动识别路线,以及选择正确的路线。智能循迹小车是一个运用传感器、单片机、电机驱动及自动控制等技术来实现按照预先设定的模式下,不受人为管理时能够
h1654155216.9102
2021-07-21 07:29:12
20.2-电磁杆在磁轨道的测试 零基础入门智能车竞赛 STM32电磁小车
20.2-电磁杆在磁轨道的测试 零基础入门智能车竞赛 智能车竞赛 电磁杆原理图 电磁循迹小车 智能车电磁组 STM32电磁小车 电磁循迹小车 电磁循迹算法 智能车环岛 智能车比赛规则 智能车竞赛
2024-08-20 10:52:21
循迹智能小车是由哪些部分组成的
循迹智能小车 循黑线文章目录循迹智能小车 循黑线硬件菜单硬件使用硬件组装程序设计前的理解程序代码硬件菜单单片机型号:STC16F40K1284路红外循迹模块小车底盘套件(一个底盘、两个TT马达、两个
raylue
2021-07-14 06:56:29
基于STM32的智能循迹小车设计
的应用,如自动驾驶技术、引导机器人、自动化生产线上的物料陪送机器人等。循迹小车也是智能小车的一种,归属于机器人的范畴。目前,自动驾驶和智能小车的应用也越来越广泛。基于STM32F103主控板搭建智...
英雄孤寂
2021-08-11 08:36:55
一种基于STC89c52rc单片机的红外循迹小车
循迹小车由于要准备明年的恩智浦飞思卡尔智能车比赛,因为飞思卡尔智能车用的是K60系列的单片机以我目前的阶段来说还处于学习阶段,所以先用51单片机做一个智能循迹小车。学习一下小车硬件以及软件,也是对我
klysa
2021-06-29 08:18:59
基于NRF24L01双向通信无线遥控循迹跟随智能车的设计资料分享
硬件模块实现小车的前进、倒退、转向行驶、PWM调速,并且能自动根据地面黑线循迹导航功能,实现无线智能控制,达到设计目标。本电路设计模块由单片机控制电路、电压比较器电路、电源与电机驱动电路、激光
陶醉了的猫
2022-02-16 06:04:17
怎样去设计一种智能循迹避障小车
《智能循迹避障小车毕业设计论文.docx》由会员分享,可免费在线阅读全文,更多与《智能循迹避障小车毕业设计论文》。1、较器来采集高低电平,从而实现信号的检测。避障亦是此原理。电路图如图。市面上有很多
llc1219
2021-08-26 13:26:30
怎样去设计基于STM32的智能循迹小车
基于STM32的智能循迹小车设计(基础版)想看IF-WHILE代码块直接拉到底,在最下面硬件准备1、小车底盘+四直流电机(带轮)2、STM32F103C8T6核心板3、12V 8700mAh锂电池
我在线中
2021-08-11 08:02:34
怎样去设计基于STM32的智能循迹小车
基于STM32的智能循迹小车设计硬件准备1、小车底盘+四直流电机(带轮)2、STM32F103C8T6核心板3、12V 8700mAh锂电池(可以用几节18650锂电池)4、循迹模块选择
1123127317
2021-08-04 06:34:25
基于STM32核心板的遥控车/智能车的设计资料分享
智能车其实没有那么智能,只是自身携带的传感器多一些,能够脱离人的控制在特定的环境下行走而已。你给小车装一个循迹模块,它就可以在跟着特定的轨迹行走,也就是大家在社团科技展出,科普宣传周等活动中最
雪大大11
2022-02-14 07:20:12
怎么制作一个智能循迹小车
的能力,而且智能小车还是一个很好的硬件平台,只要增加一些控制电路就能完成循迹小车、救火机器人、足球机器人、避障机器人、遥控汽车等课题。
djelje
2021-04-23 07:13:43
第六届CUIT校级智能车电磁组竞赛 精选资料分享
第六届CUIT校级智能车竞赛 作为一名大一新生,小白报名参加了电磁循迹的四轮组竞赛。小白在写这篇博客的时候呢,马上就要进行比赛了,前前后后花了差不多一月的时间准备这次比赛,在这里对整个调试的过程
感谢相遇
2021-07-30 06:20:10
基于红外激光二极管的智能循迹小车的硬件系统分析与设计
的模型汽车,按照规定路线行进,完成时间最短者为优胜。该竞赛涵盖了控制、模式识别、传感技术、电子、电气、计算机和机械等多个学科的内容。文中基于此竞赛为背景,设计了一套智能车控制系统。本系统针对智能车的路径
kingnet_520888
2019-07-23 08:22:08
微雪电子智能车学习板配件包Arduino开发板简介
智能车 机器人 Arduino AlphaBot2 智能车配件包 基于Arduino开发设计 采用UNO PLUS 可以实现循迹、避障、超声波测距、红外遥控和蓝牙控制等应用 型号 AlphaBot2-Ar配件包
2019-12-24 15:30:07
微雪电子智能车Arduino AlphaBot2简介
智能车 机器人 Arduino AlphaBot2 智能车学习板 基于Arduino开发设计 采用UNO PLUS 可以实现循迹、避障、超声波测距、红外遥控和蓝牙控制等应用 型号 AlphaBot2-Ar
2019-12-24 16:01:31
循迹小车的原理及其类型
1、循迹小车原理(1)小车的类型:常见的有三轮车,四轮车两种;三轮车,主要是后面两个主动轮,前面一个万向轮组成;四轮车,比赛中常见的有4个都是直轮,或者4个是麦克纳姆轮两种;(2)由于是新手,所以
深海零下一度1
2021-09-06 09:16:33