一提到循迹小车,很多人条件反射就是单片机。STM32、Arduino、摄像头、PID,好像不写上几百行代码就不算入门。但如果你问我这个从面包板时代玩过来的老玩家怎么看,我反而想说一句可能有点反潮流的话:先用纯硬件电路把一辆循迹小车搭出来,比任何开发板都能让你真正看懂它是怎么工作的。
这篇文章要做的,就是把手教你用纯硬件电路实现一套完整的小车循迹方案。不用写一行代码,不用烧录固件,只用红外传感器、比较器、MOS管和电机这些基础元件,搭出一辆能在黑白赛道上自己跑的小车。文章会给出完整的电路图级接线清单和实操避坑指南,适合完全零基础的电子爱好者、中学生创客,也适合那些一直用开发板却搞不清底层信号链路的同学。看完你能理解一件特别重要的事:循迹这件事,本质上就是把"看到黑线"变成"控制电机停转"的一整条物理信号链,而这条链路,用分立元件完全可以搭出来。
1. 为什么放着单片机不用,非要用纯硬件电路搭循迹小车
1.1 纯硬件循迹与单片机方案的本质差异
循迹小车用单片机来做,核心逻辑其实非常简单:传感器把黑白信号变成电压,单片机用 ADC 读取这个电压,判断当前传感器下面压的是黑线还是白纸,然后通过 GPIO 控制电机驱动模块,实现左右轮差速。
这套流程听着很顺,但有个问题:单片机把中间的很多物理细节都"吞"掉了。传感器输出信号不去调、比较器阈值不理解、开漏输出为什么必须加上拉电阻也不知道,最后作品跑起来了,但那一整条模拟信号链路在你的认知里仍然是黑的。
纯硬件方案完全不一样。从光敏三极管的电流变化,到负载电阻上的电压分压,再到 LM393 比较器把它判成逻辑 0/1,最后驱动 MOS 管通断电机,每一步都明明白白摆在电路图上,是可以用万用表量出来、用眼睛看到的。
1.2 这套方案适合什么人、能学到什么
- 刚入门电子的新手:焊一块板子,能同时接触到传感器、比较器、功率驱动、电源去耦这些最核心的基础电路。
- 想打循迹比赛但还没学过编程的同学:不用等学会 C 语言,周末就能让车在地上跑起来。
- 老玩家:用逻辑电路重新搭一遍,体验一下"电路即程序"的原始快感,还能顺手给孩子当教具。
做完这台车,你至少能带走三样东西:一是对传感器信号调理的理解,二是对"比较器开漏输出为什么必须上拉"这种底层层面的认知,三是对电机驱动和地线规划的实际手感。后面你再回去学单片机、学驱动电路,会发现很多原来靠背的东西突然就有直觉了。
1.3 整体工作流程:识色、判决、驱动三步拆解
整个系统拆开看就三个环节,和人的行为逻辑一模一样:
- 眼睛:红外反射式传感器。红外发射管发光,光线打到地面后反射回来,被光敏三极管接收。白纸反射强,黑线吸收红外光、反射弱,于是光敏管电流就有了明显差异。
- 大脑:LM393 比较器。它的作用是把传感器输出的连续模拟电压,和一个可调的阈值电压比较,输出干净的 0/1 逻辑信号。"地面是白的"输出高电平,"压到黑线"输出低电平。
- 手脚:N-MOS 管做低边开关。比较器输出的逻辑电平控制 MOS 管的栅极,MOS 管导通或关断电机回路。哪一侧压到黑线,哪一侧电机就停,另一侧继续走,车身自然拐回来。
这套三步逻辑虽然简单,却是后面一切循迹算法的基础。哪怕以后你上 PID、上摄像头,最终动作本质还是"检测偏差 → 计算转向量 → 控制左右轮速差"。
2. 从"眼睛"讲起:红外反射式传感器的分压陷阱
2.1 反射式光电传感器的工作原理
传感器是整个系统的信号源头,所有判断都建立在它的输出够不够稳定上。市面上最常见的反射式光电传感器是 TCRT5000,内部集成了一个红外发射 LED 和一个光敏三极管。工作时红外 LED 持续发光,光线照到地面后反射回光敏三极管,光敏管导通程度随反射光强度变化,等效为一个"光控电流源"。
这里有个关键点:光敏管是电流型器件,必须外接电阻才能把电流变化转成电压变化。很多新手直接拿万用表去量光敏管两端,读到的是一堆莫名其妙的数值,就是因为漏了负载电阻这一步。
设置负载电阻时的判断逻辑是:反射越强,光敏管导通电流越大,负载电阻上压降越大。至于取多大阻值,取决于你希望信号怎么变化,这就引出了下面这个非常容易翻车的选择。
2.2 光敏三极管的两种接法,选错直接翻车
光敏三极管接法有两种,输出信号的方向恰好相反。
第一种是集电极输出式:光敏三极管的发射极接地,集电极通过一个负载电阻接电源,从集电极取电压。反射强→电流大→电阻压降大→集电极电压被拉低。也就是说,白纸对应"低电压",黑线对应"高电压",信号是反相的。
第二种是发射极输出式:光敏三极管的集电极直接接电源,发射极通过负载电阻接地,从发射极取电压。反射强→电流大→发射极电压升高。白纸对应"高电压",黑线对应"低电压",信号是同相的。
我强烈建议用第二种,也就是发射极输出式。原因很朴素:信号方向直观,调阈值时不容易把自己绕晕。比较器的逻辑设计成"白线电压高于阈值则输出高电平、驱动电机转动",读代码和查电路的时候都省一个反相器的脑子。
2.3 发射管限流电阻与接收负载电阻的取值计算
红外发射管和普通 LED 一样需要限流,不然电流失控会加速老化甚至烧毁。以 TCRT5000 为例,发射管的典型工作电流 20mA,正向压降约 1.25V,用 5V 供电时:
限流电阻 ≈ (5V - 1.25V) / 20mA ≈ 187Ω
实际选型我会保守一点,取 330Ω,对应工作电流约 11mA。这样既保证了检测距离绰绰有余,又不至于让发射管常年工作在极限状态。如果你发现检测距离不够,可以换成 220Ω,但别再小了。
接收负载电阻则决定了信号的幅度和线性范围。10kΩ 在多数场合比较稳妥:白纸反射时发射极电压能拉到 3V 以上,黑线时只有 0.5V 上下,黑白差距足够大,留给比较器清晰的判决空间。如果想把检测距离拉远,可以减到 4.7kΩ,代价是功耗上升、黑线静态电压也会抬高,阈值空间会被压缩。
还有一个非常影响实际效果的问题:传感器对环境光敏感。红外光敏管不光接收你发射管反射回来的红外光,也接收太阳光和灯光里的红外成分。阳光直射下,黑线区域的输出电压可能从 0.5V 涨到 2V 以上,这时候无论你怎么调阈值都救不回来。解决手段不是换成更贵的传感器,而是物理遮光——用黑色热缩管或电工胶带套在传感器周围,只留一个朝下的小窗口。这个土办法效果好得惊人,一定别省。
3. 阈值判决与信号整形:LM393 在这里比 LM358 靠谱得多
3.1 比较器点名逻辑:为什么要一个"裁判"角色
传感器输出电压是连续变化的模拟量,直接拿它去驱动 MOS 管极不靠谱:电机启动电流大,电源电压一跌落,传感器输出也跟着飘,驱动逻辑就乱了。中间必须加一个"裁判",把模拟量归化成干净的高低电平。
LM393 就是干这个的。它是一个双通道电压比较器,内部有两个独立的比较单元,正好对应左右两个传感器。比较器的工作方式极其简单粗暴:同相输入端电压高于反相输入端,输出高;反之输出低。这个逻辑门看起来简单,但它决定了整台车的行为边界。
3.2 开漏输出与上拉电阻,新手最容易漏的一步
LM393 的输出级是开漏结构,这意味着它本身只能主动把输出拉到低电平,却没法主动输出高电平。输出端的"高"全靠外部一个上拉电阻接到电源才能实现。
我把话说明白一点:如果你在 LM393 输出脚和电源之间不加这个上拉电阻,那么输出端只有两个状态——低电平,或者悬空。悬空对后级来说等于没接,MOS 管栅极电位不确定,电机可能转可能不转,一切随缘。新手第一次焊完发现比较器"不管输入怎么变输出都是 0",十有八九就是漏了上拉电阻。
上拉电阻的取值也别随手抄 10kΩ。经验值我会用 2.2kΩ~4.7kΩ。选太小了静态功耗大,选太大了输出高电平的驱动能力弱。关于这个阻值对后级驱动的影响,下面驱动章节还要重点讲,你先记着一个原则:后级要电流,上拉就别太大。
3.3 电位器调阈值的标准流程
阈值电压通过电位器调节。我常用的电路是 10kΩ 电位器,两端分别接 5V 和地,中间抽头接比较器的反相输入端。调阈值看似简单,但很多人调了半天车还是乱跑,原因是没掌握顺序。
标准流程是三步:
- 把车放在白纸区域,用万用表量传感器输出端电压,记录下来。比如 3.5V。
- 再把车推到黑线上,量同一点的电压,比如 0.6V。
- 阈值电位器调到这两个值的中间偏黑侧,比如 2.0V。
为什么要中间偏黑?因为循迹过程中,车不可能永远正对赛道中心,传感器从白区滑向黑线时信号有一个渐变过程。如果阈值卡在 1.2V 这种贴近黑线电压的位置,白纸边缘的轻微抖动就可能误判成压线,车就会画龙。留出余量,系统更稳。
3.4 正反馈迟滞:让输出不再在临界点抖动
还有一个值得加的小电路:迟滞。原理是在比较器输出端和同相输入端之间跨接一个 470kΩ~1MΩ 的大电阻,形成微弱的正反馈。当输出翻转为高电平时,反馈会稍微抬高同相输入端的参考点;输出翻转为低时则相反。
这个设计解决的是工程上一个很常见的毛病:当传感器压在黑线边缘、信号在阈值附近缓慢晃动时,比较器输出会在高低电平之间快速抖动,轻则电机咔嗒响,重则转向逻辑彻底紊乱。加了迟滞后,输出一旦翻转就"锁住"当前状态,必须等输入信号变化超过迟滞带宽才会再次翻转,相当于给判决器加了滤波。
有一点要提醒:加了正反馈电阻后,你在电位器上看到的阈值电压会被这个反馈叠加影响,所以正确的做法是先调到大致位置,再通过实测输出调整,不要一边看抽头电压一边纠结为什么对不上。
4. 电机驱动:其实你根本不需要 H 桥
4.1 循迹转向的本质:同侧停轮差速
很多新手一画电机驱动就想到 H 桥,觉得必须让电机能正转、反转才算"驱动"。但循迹这个场景里,你根本不需要倒车。
循迹转向的本质是差速:直道时左右轮同速前进;需要向右拐时,右边轮子停转或者明显减速,左边轮子继续走,车身自然右转。反过来亦然。而"压到黑线"对应的正是"这一侧停轮",所以最简单的纯硬件方案就是:两个传感器各自控制同侧电机的通断。
这一下子就把 H 桥省掉了。电机只需要单方向转动,等效成随逻辑信号开关的"阀"就行。
4.2 N-MOS 管低边驱动电路与基极电流计算
我推荐的驱动方案是 N-MOS 管低边开关。以 AO3400 这种逻辑电平 MOS 管为例,它只需要栅极电压达到阈值就能导通,几乎不要求驱动电流,和 LM393 的开漏输出配合非常舒服。
具体接法:
- MOS 管漏极接电机负极
- 电机正极接电池正极
- MOS 管源极接地
- 比较器输出经一个 1kΩ 电阻接到 MOS 管栅极
比较器输出高电平时 MOS 导通,电机得电转动;输出低电平时 MOS 关断,电机停止。这个电路简单到几乎不需要调试就能工作。
如果你手头只有三极管 S8050,也能做,但有一个坑必须讲清楚:三极管是电流驱动器件,需要基极电流才能维持导通。算一下:假设电机堵转电流 300mA,三极管放大倍数 100,基极电流至少需要 3mA,实际要做到可靠饱和,基极电流要按 2~3 倍余量准备,也就是 6~9mA。而 LM393 开漏输出加上 10kΩ 上拉电阻时,高电平只能提供 (5V-0.7V)/(10kΩ+1kΩ) ≈ 0.4mA 的电流,远远不够。这就是为什么很多人照抄教程用三极管驱动电机,结果电机无力、发烫、转速起不来。要么把上拉电阻降到 1kΩ 以下强行喂电流,要么直接换 MOS 管。我的建议是别为难三极管,用 MOS。
4.3 为什么很多人做的车一碰就乱跑:地线回路问题
电机是整台车里最"脏"的器件。启动瞬间电流能从几十毫安跳到几百毫安,关断瞬间还会在电机两端产生反电动势。这些电流如果流经了比较器和传感器的地线,就会在地线电阻上产生一个可观的压降,把传感器阈值整个抬起来或压下去,表现就是"电机一启动,车就开始乱判黑线"。
解决办法是地线分区。逻辑电路的模拟地、传感器地、比较器地,走一条细细的线;电机这种大电流回路单独走一条粗线,两条线最后在电池负极单点汇合。别图省事直接把所有地都接到同一个覆铜区域,多花一分钟布线,能帮你省掉一整晚的排查时间。
电机两端还有一个必装的元件:续流二极管。把 1N5819 或 SS14 这样的肖特基二极管反并联在电机两端,阴极接电机正极、阳极接电机负极。平时二极管反偏不导通,MOS 关断瞬间电机电感产生的反向尖峰电压会通过二极管释放掉,保护 MOS 管不被击穿。漏掉这个二极管,运气好能跑一晚上,运气不好第一脚急停就烧管。
4.4 进阶玩法:三路传感器与电阻网络差速
两路传感器方案优点是简单,缺点是转弯比较"生硬",因为只有"转/停"两种状态。想更平滑,可以上三路传感器,并且用电阻网络实现模拟差速。
思路是这样:三个传感器输出的逻辑信号,通过不同的电阻叠加到 MOS 管栅极上。压到黑线的路数越多,栅极驱动电压越低,电机减速越明显。中间传感器只负责"保持直行",左右传感器负责转向偏差。这样车转向时不是突然停轮,而是渐进减速,轨迹会顺滑不少。
这个玩法属于纯硬件里很有深度的内容,做完基础版之后,非常推荐自己搭一下感受感受。电阻网络的参数没有标准答案,我建议从 10kΩ 和 4.7kΩ 开始试,用万用表边量边调。
5. 完整电路接线:照着这张清单焊就能跑
5.1 元件清单与选型备注
下面这版清单是我反复试过、确定能跑通的配置,所有元件都很常见,电子市场甚至初中物理实验室里基本都能凑齐:
| 类别 | 型号/规格 | 数量 | 备注 |
|---|---|---|---|
| 反射式光电传感器 | TCRT5000 或同类型号 | 2 | 或直接买带模拟输出的传感器模块 |
| 双电压比较器 | LM393 DIP-8 | 1 | 内含两个比较器,对应左右两路 |
| 精密电位器 | 10kΩ 3296W 或多圈 | 2 | 多圈电位器更好,调起来精细 |
| N-MOS 管 | AO3400 | 2 | 逻辑电平、低栅极电容 |
| 限流电阻 | 330Ω 1/4W | 2 | 红外发射管限流 |
| 负载电阻 | 10kΩ 1/4W | 2 | 光敏管发射极接地负载 |
| 上拉电阻 | 2.2kΩ 1/4W | 2 | LM393 输出上拉到 5V |
| 栅极串联电阻 | 1kΩ 1/4W | 2 | 保护 MOS 栅极 |
| 续流二极管 | 1N5819 或 SS14 | 2 | 反并联在电机两端 |
| 稳压芯片 | AMS1117-5.0 | 1 | 逻辑部分稳定 5V 供电 |
| 电解电容 | 10μF/25V | 2+ | 稳压芯片输入输出端各一个 |
| 瓷片电容 | 100nF | 3+ | LM393 电源去耦、稳压输入输出高频去耦 |
| 电源开关 | 拨动开关 | 1 | 串在电池正极回路 |
| 减速电机 | 3V~6V 直流减速电机 | 2 | 尽量配同型号,转速差异影响直行 |
| 电池 | 4 节 AA 电池盒或 2 节 18650 | 1 | 电压 5V~6V 区间即可 |
5.2 按功能分块的逐脚接线表
我用"网络表"的方式把每一根线都列清楚,比贴一张大图纸更不容易漏线。先把网络定义好,再往网络里挂引脚,焊的时候照着这个表一个个连,就不会乱。
电源网络
| 网络名 | 包含的连接点 | 说明 |
|---|---|---|
| VBAT | 电池正极、开关一端、AMS1117 的 IN 脚、左电机正极、右电机正极 | 电池是"粗电",驱动电机 |
| 5V | AMS1117 的 OUT 脚、LM393 的 8 脚、两个电位器一端、两个红外 LED 阳极、两个光敏管集电极、两个上拉电阻上端 | 稳压后的"精电",给逻辑电路 |
| GND | 电池负极、AMS1117 的 GND 脚、LM393 的 4 脚、所有负载电阻下端、电位器另一端、两个 MOS 管源极、去耦电容负极 | 单点汇合,逻辑地和电机地在电池负极汇合 |
左路信号链
| 网络名 | 包含的连接点 | 说明 |
|---|---|---|
| SENSOR_L | 左光敏管发射极、左 10kΩ 负载电阻上端、LM393 的 3 脚(IN1+) | 左传感器信号,接比较器同相输入 |
| VREF_L | 左电位器抽头、LM393 的 2 脚(IN1-) | 左路阈值,接反相输入 |
| OUT_L | LM393 的 1 脚(OUT1)、左 2.2kΩ 上拉电阻下端、左 1kΩ 串联电阻一端 | 左路判决输出 |
| GATE_L | 左 1kΩ 串联电阻另一端、左 MOS 管栅极 | 接到左电机驱动 MOS 栅极 |
| MOTOR_L- | 左 MOS 管漏极、左续流二极管阳极 | 左电机负极接 MOS 漏极 |
| MOTOR_L+ | 左电机正极、左续流二极管阴极、VBAT | 左电机正极直接接电池 |
右路信号链完全对称,只需把 LM393 的 5、6、7 脚分别对应同相输入、反相输入和输出,依次命名为 SENSOR_R、VREF_R、OUT_R、GATE_R、MOTOR_R-、MOTOR_R+。
集成稳压部分再加两个 100nF 瓷片电容,一个紧贴 AMS1117 输入输出端,一个紧贴 LM393 的 8 脚和 4 脚之间,这些去耦电容是保证电压稳定和抑制高频噪声的关键,别省。
5.3 电源方案:模拟电路与电机必须分开供电逻辑
这套电路里有一个非常容易出现但极难排查的问题:电机"污染"了逻辑电源。减速电机启动瞬间电流变化特别剧烈,如果你直接用同一路 5V 又供传感器又供电机,那传感器参考电压就会随着电机转速波动,车越快的工况下越容易误判。
正确做法是像上面的网络表一样,把电源分成 VBAT 和 5V 两路。电机正极直接挂电池 VBAT,逻辑电路走 AMS1117 稳压后的干净 5V。AMS1117 的最大输出电流有 1A,供传感器和比较器绰绰有余,但别想着顺手也喂电机——电机堵转时轻松超过 1A,会把稳压芯片的电压拖垮,连累整台车。
如果你手里的电池是 7.4V 两节 18650,也没问题,AMS1117-5.0 的输入电压范围足够宽,压差也小,能稳定输出 5V。但别用 7805 代替,7805 压差要 2V 以上,6V 电池时输出已经压不稳了。
6. 从焊好到跑起来:实测调试中的那些"玄学"
6.1 上电先测三个电压,少测一个都有可能白忙一小时
焊完板子别急着放地上跑,先把车架起来悬空,让两个轮子离地,然后拿万用表做三件事:
- 测 AMS1117 输出是否为稳定的 5V。如果电压飘,先查输入电压和电容。
- 测两个电位器抽头电压是否在 1.5V~2.5V 区间。如果电位器本身电压就不对,那后面整个阈值一定是乱的。
- 把传感器分别放在白纸和黑线上,测比较器输出脚电压。白纸时应该接近 5V,黑线时应该接近 0V。如果没有翻转,检查是不是漏了上拉电阻,或者光敏管接法不对。
这三步全部通过,这台车才具备上路的资格。
6.2 距离与角度:传感器安装位置对循迹的影响
传感器的安装高度和间距会直接影响系统稳定性。TCRT5000 的最佳检测距离大概是 8mm~10mm,传感器底面离地高度保持在这个范围附近,黑白信号差异最大。装太高,反射光太弱,黑白电压差变小;装太低,碰上地不平直接被磨坏。
左右传感器的间距以"黑线不能同时覆盖两个传感器"为原则。赛道黑线通常 2cm 宽,车宽 14cm 左右的话,两个传感器间距放在 8~10cm 比较合适。这样车稍微偏向一边时,只会有一个传感器压到黑线,转向逻辑才清晰;如果间距太窄,两个传感器同时压线的情况频发,小车会原地画圈。
6.3 关键词排查表:小车不正常时的快速定位
跑起来之后如果出现问题,别急着乱拆,按下面这张表逐条排查:
| 故障现象 | 优先排查点 |
|---|---|
| 两个轮子都不转 | 电池开关、AMS1117 是否输出 5V、LM393 是否加上拉电阻 |
| 两个轮子都转但停不下来 | 阈值电压是不是调得太高、传感器是否离地太远、遮光是否到位 |
| 一个轮子永远不转 | 单侧 LM393 输出是否翻转、续流二极管方向是否接反、MOS 管是否焊坏 |
| 直行路段画龙抖动 | 阈值余量不足、左右电机转速差太大、正反馈迟滞电阻没加 |
| 压到黑线反应迟钝 | 传感器检测距离太远、阈值太贴近黑线电压、弹簧接线接触不良 |
| 电机一转逻辑就乱 | 电机和逻辑共地问题、缺去耦电容、电池电压不足 |
6.4 实测数据参考:我给初学者设定的典型参数
下面这组数据是我在标准白底黑线赛道上反复测出来的,可以作为你第一次调试的起点值,然后根据自己的场地微调:
| 测量点 | 白纸读数 | 黑线读数 | 我的设置 |
|---|---|---|---|
| 光敏管发射极电压(5V 供电) | 3.3V~3.8V | 0.4V~0.8V | 阈值设 2.0V |
| LM393 输出电压 | ≈4.5V | ≈0.05V | 上拉 2.2kΩ |
| 传感器离地高度 | — | — | 8mm~10mm |
| 左右传感器间距 | — | — | 9cm |
| 电池电压 | — | — | 6V(4 节 AA) |
这套参数下,小车在直线段跑得非常稳,压线时转向干脆,基本不拖泥带水。如果你的场地黑线更窄或者更宽,只需要微调电位器,不用改结构。
7. 避坑清单:这些坑我替你踩过,别再踩第二遍
这一节直接上干货,是我从自己做废的三四块板子里总结出来的最值得写的九条经验,每条背后都有真金白银的代价。
上拉电阻永远别漏。LM393 开漏输出不自带高电平,忘记上拉,输出永远低,车永远不动。这是新手翻车率第一名。
LM393 的供电范围不要超。输入共模范围大致是 VCC 减 1.5V 以内,直接用 8.4V 电池供电而不稳压,传感器强反射时信号电压可能超过比较器输入共模上限,输出会莫名其妙。稳压到 5V 永远是最稳的解法。
电位器一定要选多圈的。单圈碳膜电位器调阈值时手一抖就偏出 0.5V,跑起来整个行为就变了。3296W 多圈电位器贵不了几毛钱,值得。
电机两端续流二极管方向别接反。反着焊,二极管在电机正常转动时就是短路状态,一上电就烧。记住一句话:阴极接电机正极,阳极接电机负极。
传感器一定要做遮光。太阳光、灯光里的红外成分会让黑线电压从 0.5V 涨到 2V 以上,再贵的调试技巧也救不了。黑色热缩管套上,立刻见效。
别用逻辑去耦电容的场地省电机大电容。在 VBAT 和 GND 之间并一个 1000μF 左右的电解电容,电机启动瞬间的电压跌落会小很多,逻辑部分的工作环境会好得多。
电机塞到 N-MOS 驱动之前先确认栅极逻辑方向。如果你用的是三极管驱动,注意上拉电阻和基极电流的匹配问题;用 MOS 就没有这个烦恼,所以我主推 MOS。
车速别一上来就追求快。电池电压你能控制,但电机减速比、轮胎摩擦力这些都会影响循迹稳定性。先把基础版跑顺,再想办法提速度,否则你根本分不清问题是出在算法上还是机械上。
调试时多备一组电池。4 节 AA 电池电量下降后,LM393 的输出翻转点会跟着变,看起来就像电路坏了。排除法先换电池,能省大量时间。
8. 最后,我还想多说一句
做完这台纯硬件循迹小车,你会发现一件很有意思的事:整条信号链里没有一个"程序"在运行,但车的每一个动作都是可以被预测、被解释的。这种"物理世界直接决定行为"的感觉,是学习单片机时很难体会到的。
等这版车能稳稳跑完一圈之后,你可以再往下玩:加第三路传感器,调出更平滑的差速;把速度提上来,研究一下路径的切弯线路;甚至把摄像头装上去,试试看用纯硬件能不能做更复杂的边缘检测。这条路走完,再回头看单片机,你脑子里那根从传感器到执行器的线是亮着的。
最后分享一个我自己的惨痛教训:电池盒和主板一定要用扎带固定牢,别用热熔胶。我第一次试跑时车速并不快,但过弯离心力还是把整块焊接好的板子甩飞了出去,焊盘全折,重新焊了一晚上。从那以后,我的每台小车电池都是用扎带死死绑在底盘上的。祝你一次成功,赛道见。