六年级和中三的 RBT「遥控小车」作业,通常一次要交三样东西:会动的机械系统、能从远处指挥的控制系统,还有把这两套讲清楚的草图或方块图。遥控这一段,老老实实只有三条路——红外线遥控器、用手机走蓝牙,或者一对 nRF24L01 无线电。做学校作业最容易收尾的是红外线遥控器;而一对 nRF24L01 是唯一一条能让你自己做出一支遥控器的路,不用对准,也不用手机。
RBT「遥控小车」这份作业,到底要你交什么?
RBT 的作业纸,不管是六年级还是中三,通常把这个专题拆成三个分开打分的部分。机械系统是看得见摸得着的那些:车底板、马达、齿轮、轮子,还有电池摆在哪里。控制系统是那套接收指令、再把马达转起来的电路。文件则是设计草图、方块图和报告。
最常吃掉分数的陷阱就藏在这里。很多学生把时间全花在遥控那一段,最后交上来的是一辆赶工装起来的车:电池盒用橡皮筋高高绑着、底板会弯、有一个轮子是松的。机械分就是这样丢掉的——而这偏偏是最容易救回来的部分,因为它完全不需要写代码。
三条遥控路线共用的同一辆车底子
这就是选遥控方式之前的基础车。车底板不包括在内:你要自己从三合板、亚克力或硬纸板上切割和钻孔,而这本来就是会被打分的机械功夫。这里的 TT 马达出厂时已经接好线——红线和黑线是在工厂焊上去的——所以这辆车整台做下来,一个焊点都不用。
做的顺序是这样,而且它是刻意把遥控放到最后的:(1)切割并钻好底板,(2)装上两个马达、两个轮子和万向球轮,(3)把 L298N 接到 Uno 和电池盒,(4)用下面那段测试代码试车能不能走直线,(5)这时候才加上你选的那条遥控路线,(6)对着已经装好的车画草图和方块图。第 1 步到第 4 步,不管你选哪条路都一模一样。
让它从远处动起来的三种方式——学校作业该选哪一种?
「遥控」这两个字并不是一种技术:下面三个选择,是用三种完全不同的物理方式,把你的指令送过整个房间。
红外线遥控器送出去的是红外光,不是无线电。按下按键时,遥控器前端的 LED 每秒闪烁大约 38,000 次(38 kHz),而车上的 HX1838 接收头内部有一个滤波器,只放行以这个频率闪烁的光。阳光很亮,但它不闪;房间的灯每秒只闪大约 100 次——两者都远远落在 38 kHz 这扇窗口之外,所以接收头不会把它们误读成信号。代价有两个。第一,很亮的环境光还是会拉低接收头的灵敏度,所以在窗边或者户外,距离会缩水。第二,光不会拐弯。遥控器必须直接对准接收头,距离 5 到 8 米,中间站一个人就断了。
HC-05 蓝牙模块换的是另一套技术:它是 2.4 GHz 无线电,信号能穿过人体和桌子。负责发送的是学生自己的手机,跑一个 App,所以发射端不用花钱,也不必再搭第二套电路。像这样的 Class 2 模块,距离大约 10 米。代价是:整场演示都押在一支必须先配对(pair)好的手机上,而且老师看到的是你手里拿着手机。
一对 nRF24L01 模块是三条路里唯一真正像玩具遥控车那样的遥控:一个模块装在车上,另一个装在你自己做的手持遥控器里。无线电的两端都是你的,所以距离远远超过前面两条路——空旷的地方几十米,在建筑物里会打折。代价是工作量翻倍:遥控器需要自己的第二块 Uno 板、自己的电源和自己的代码。
| 遥控路线 | 发送端是什么 | 常见距离 | 难度 | 成本 | 老师看到的是什么 |
|---|---|---|---|---|---|
| 红外线遥控(HX1838) | 盒子里附的遥控器,纽扣电池供电 | 约 5–8 米,必须正面对准——光不会拐弯 | 最简单——Uno 上只占一个信号脚 | 最便宜 | 一支真正的遥控器拿在你手上 |
| 蓝牙(HC-05) | 学生的手机 + App | 约 10 米,能穿过人体和桌子 | 中等——要装 App、要和手机配对 | 中间 | 你手里拿着手机 |
| nRF24L01 无线电(两个模块) | 自己做的手持遥控器 | 空旷处几十米 | 最难——两套电路,而且两个模块都必须用 3.3 V 供电,不是 5 V | 最贵——要多一块 Uno | 自己做出来的遥控器 |
对大多数学校作业来说,红外线这条路赢。如果你的评分表里提到创新,或者要求自己设计遥控器,那 nRF24L01 能拿出来展示的东西更多——订两个模块,再加一块 Uno 板。在 nRF24L01 这一家族里,外接天线的版本才是跑远距离的那一款;这里这种 PCB 板载天线的模块,覆盖一个学校礼堂已经绰绰有余。
三条遥控路线里,只挑一条
HX1838 这一套里已经附了遥控器、三条连接线和一颗发射 LED——演示前请自己准备一颗 CR2025 纽扣电池,并把遥控器底下那片绝缘塑料舌拉出来。蓝牙这条路用学生自己的手机当发射端。nRF24L01 这条路需要两个模块,再加一块 Uno 板来做手持遥控器。

机械系统:到底哪些部分真的会被打分?
学校专题车用的 TT 马达是 1:48 的型号,3–6 V,在 6 V 空载时大约每分钟 200 转。1:48 这个数字的意思是:里面那根马达轴每转 48 圈,夹着轮子的那根输出轴才转一圈。齿轮做的事情是拿转速换扭力:一个裸的直流马达每分钟能转好几千圈,但扭力小到推不动一辆静止的车,而齿轮箱大约按这个比例,把扭力放大回来。
这个数字直接给出你的车速。68 mm 轮子每转一圈,车就前进一个周长,π × 68 mm ≈ 214 mm;在每秒 3.3 圈(200 ÷ 60)时,车大约每秒走 0.7 米——差不多是人走路速度的一半,带上负载还会更慢。
两个 TT 马达驱动两个后轮,前面那颗万向球轮让整辆车变成一台三轮车。车子转弯靠的是让一边的轮子比另一边转得快,或者干脆反向转——没有转向机构,也没有舵机。万向球轮必须能自由滚动;一旦它拖地卡住,就算两个马达转速一样,车也会跑偏。
自己做的底板上有两件事要用尺量,不能靠猜。第一件是高度。先把两个马达和轮子装好,把底板放在桌面上,然后量一量桌面到底板下表面的距离——前面那颗万向球轮必须补足的就是这个高度。16 mm 的球加上它的冲压法兰,几乎一定比这个高度矮,所以要在它下面加铜柱、垫片或者一小片薄木板,垫到底板坐得水平为止。少了这个垫高,车头就会翘起来,球根本碰不到地,车只会原地打转。
第二件是对正。两个马达必须坐在同一条直线上,而且和底板成直角。用两根扎带穿过你自己钻的孔把每个马达绑住,或者用螺丝穿过 TT 马达机身本来就有的孔位,拧紧之前先检查一次对正。车子直行时会画弧,原因几乎总是出在这里,而不是代码。
在自己动手钻底板之前,先看一遍马达是怎么拧上去、轮子又是怎么压进轴里的,会很有帮助:
电池盒摆在哪里是物理,不是装饰,而它才是「怎样让车不翻」这个问题的真正答案。轮胎能推出来的摩擦力,和压在它上面的重量成正比,而两节 18650 的电池盒是整辆车上最重的东西。把它往前摆到万向球轮上方,重量就从驱动轮上挪走了,于是轮胎在瓷砖地上打滑。把它架高,重心跟着升高:车子起步或者急停的那一瞬间,电池盒的惯性会绕着轮轴把车往上翻,车头抬起来,万向球轮离地。把电池盒放低,而且正好压在两个驱动轮上方,这两个毛病会同时消失。
选配:现成底盘套件,如果作业允许买现成底板
2WD 套件就是经典的两轮底盘,亚克力底板、马达、轮子和万向球轮都已经切好配好。4WD 套件用四个马达、没有万向球轮——每一边的两个马达并联接到 L298N 的同一个通道,所以代码完全一样。先看清楚作业纸:自己切底板,往往正是会被打分的那一部分。

为什么用 7.4 V 电池组,而不是四节 AA 电池?
L298N 模块并不会把电池组的电压原封不动交给马达。每个马达都是经过芯片内部两颗串联的晶体管接出来的——一颗把马达的一个端子拉向电源,另一颗把另一个端子拉到地——而每一颗都会吃掉自己那一份电压。ST L298 数据手册把这个总压降列为:在 1 A 电流下,最少 1.8 V,最多 3.2 V。
两节18650 电芯串联装在双槽电池盒里,给出标称 7.4 V,所以扣掉 L298N 的压降之后,马达大约还能拿到 5.5 V——正好落在 TT 马达 3–6 V 的范围里。四节 AA 电池新的时候是 6.0 V,一带负载还会再往下掉,于是马达只剩大约 3 V:车在桌面上会走,到了演示那天却爬不过一道门槛。那个电池盒是把电芯头尾相接排成串联的——照着塑料壳上的 + 和 − 记号装。
全新的 18650 电芯到手时只有半电,所以演示前要先想好怎么充。18650 是锂电池:不要直接在电芯壳体上焊接,不要短路它的端子,要用正规的锂电充电器来充,做法写在用 TP4056 安全给 18650 充电那一篇里。整个专题都停留在低压直流,没有任何一个部分会碰到市电。
加上遥控之前,怎么知道机械系统已经做对了?
机械系统要和控制系统分开来测。下面这段代码跟红外、蓝牙或无线电都没有关系——它只是让车按固定顺序前进、后退和转弯。如果车用这段代码都走不直,那么没有任何一条遥控路线能把它救回来。
| L298N 模块引脚 | 接到 | 备注 |
|---|---|---|
| ENA | Uno D9 | 先把 ENA 上的跳线帽拔掉,否则转速被锁死在全速 |
| IN1 / IN2 | Uno D4 / D5 | 左马达方向 |
| IN3 / IN4 | Uno D6 / D7 | 右马达方向 |
| ENB | Uno D10 | ENB 上的跳线帽同样要拔掉 |
| OUT1 / OUT2 | 左马达 | 如果方向反了,把这两根线对调 |
| OUT3 / OUT4 | 右马达 | 同上 |
| VS(+12V 端子) | 7.4 V 电池组的红线 | |
| GND(中间那个端子) | 电池组的黑线以及 Uno 的 GND | 共用同一个地——这是最常被漏掉的一条 |
| +5V 端子 | Uno 的 5V 引脚 | 只要电池组保持在 12 V 以下,5V 跳线帽就留着别动——模块上的 5 V 稳压器接下来会给 Uno 供电。超过 12 V 就必须把那个跳线帽拔掉、让 Uno 单独供电,否则稳压器会烧掉。这条连接同时也绕过了 Uno 自己的稳压器,所以请先上传代码,拔掉 USB 线之后再接它 |
表里最后两行结束在螺丝端子上,不是插针上。杜邦线的母头插壳没办法被螺丝夹住,所以把那两根线的母头剪掉,在那一端剥出大约 5 mm 铜线;剩下的公头照常插进 Uno 的排母。电池盒的红黑线本来就是裸线,直接进 VS 和 GND 端子。
代码通过 Uno 板上的 USB Type-B 口上传——就是那个方方的打印机口,不是 micro-USB——而且每次上传之前,都要把电池组的红线从 VS 端子上拔下来。5 V 跳线帽装着的时候,模块的稳压器和电脑的 USB 供电会在同一条 5 V 电源轨上碰头——只用 USB 上传,拔掉 USB,然后才重新接上电池组。
// 只测机械系统 - 这里没有任何遥控系统。
// 车按固定顺序动作,让你在加上 IR、蓝牙或 nRF24L01 之前,
// 先检查底板、轮胎、马达和电池盒位置做得对不对。
// 板子:Arduino Uno。驱动:L298N。
const int ENA = 9; // 左马达转速(PWM)
const int IN1 = 4; // 左马达方向
const int IN2 = 5;
const int IN3 = 6; // 右马达方向
const int IN4 = 7;
const int ENB = 10; // 右马达转速(PWM)
// 在 Uno 上,D9 和 D10 共用同一个定时器,所以两路转速的行为
// 一致。不要把 ENA 或 ENB 挪到 D5 或 D6:Arduino 的
// analogWrite 参考文档提醒,引脚 5 和 6 输出的占空比会比你
// 要求的偏高,于是两个轮子在低速时对不上。
// analogWrite 调的是通电时间的百分比,不是电压,所以 255 里取
// 180,意思是马达拿到大约 70% 的可用电压。在刚充满的电池组
// (8.4 V)上,这让马达维持在接近它 6 V 的额定值,车也慢到
// 足以让你看清楚。
const int LAJU = 180; // 0-255。从 180 开始,不要从 255 开始。
void kuasa(int kiri, int kanan) {
analogWrite(ENA, kiri);
analogWrite(ENB, kanan);
}
void berhenti() {
kuasa(0, 0);
}
void keDepan() {
digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
kuasa(LAJU, LAJU);
}
void keBelakang() {
digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
kuasa(LAJU, LAJU);
}
void pusingKanan() { // 左轮向前,右轮向后
digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
kuasa(LAJU, LAJU);
}
void setup() {
pinMode(ENA, OUTPUT); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT);
pinMode(ENB, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT);
berhenti();
delay(3000); // 留时间把车放到地上,然后退开
}
void loop() {
keDepan(); delay(2000);
berhenti(); delay(1000);
keBelakang(); delay(2000);
berhenti(); delay(1000);
pusingKanan(); delay(1000);
berhenti(); delay(3000);
}
把车放在地上,不要放在桌上。这段代码是无限循环的,而且没有装开关,所以要停下来只能把红线从 VS 端子上拔掉——放手之前先知道这一点。只看一件事:它走不走得直?如果画弧,原因几乎总是机械上的——某个马达和底板不平行、某个轮子没有完全压到轴底,或者万向球轮拖地卡住了。用 PWM 微调每个马达转速的做法,写在L298N 电机驱动调速那一篇里。
上面选的引脚是刻意给三条路线都留出空间的。L298N 占掉 D4 到 D7、D9 和 D10 之后,剩下的是 D2、D3、D8、D11、D12、D13 以及 A0 到 A5。红外接收头只要一个数据脚。HC-05 要两个 SoftwareSerial 脚——用 D2 和 D3,不要用 D0 和 D1,因为这两个脚和 USB 共用,模块接着的时候上传会失败。nRF24L01 要 D11、D12、D13 走 SPI,再加两个脚做 CE 和 CSN。这里面没有一个和电机驱动撞车,所以你的测试车不需要重新接线。
接下来才装上你选的那条遥控路线——完整的接线和代码分别在HC-05 蓝牙遥控小车、HX1838 红外遥控和一对 nRF24L01 这三篇里。其他题目点子可以看 RBT 电子专题点子清单。
你的草图和方块图要画出什么?
这辆遥控小车的设计草图和方块图,并不是一堂绘画课,我们也不会假装教你画画。我们能准确告诉你的,是那张图里必须有什么。
RBT 作业的方块图,通常要画出串成一条链的四个方块,用箭头表示流向:电源(7.4 V 电池组)→ 控制器(Arduino Uno 板)→ 电机驱动(L298N 模块)→ 马达(两个 TT 马达和它们的轮子)。再从侧边加一个箭头指进控制器方块,标上无线信号——那就是你选的那条遥控路线。
有一个地方几乎人人画错:电源不是直接接到马达的。它要经过电机驱动,而这正是电机驱动存在的理由——Arduino 给得出信号,却给不出马达要的电流。至于设计草图,画一张俯视图和一张侧视图,在侧视图上标出电池盒的位置,并标注底板尺寸和每个部分用什么材料——这些通常就是作业要的。
报告那一段里有一分最容易拿:理由。把你为什么选这条遥控路线写下来,把三个选项的距离、成本和难度像上面那张表一样并排摆出来。一份你自己写出来的对比,展示的是一个设计决定,而不只是一张购物清单。

遥控小车专题上,我们常见的错误
Uno 和 L298N 之间没有共地。症状很奇怪:两块板的灯都亮着,马达却不动,或者乱动。数字信号是相对于地的电压;没有那根共地线,Uno 发出来的「HIGH」对 L298N 来说什么也不是。
ENA 和 ENB 的跳线帽没拔。L298N 模块出厂时带着两个小跳线帽,把 ENA 和 ENB 引脚接到 5 V。只要它们还在,两个马达就被锁死在全速,你的 analogWrite 一点作用都没有。更糟的是,从 D9 和 D10 拉过来的线现在直接碰上那条 5 V 电源轨:每当 Uno 把这两个脚拉到 LOW,电流就会灌进引脚里,可能把它烧坏。接 ENA 和 ENB 的线之前,先把两个跳线帽都拔掉。
代码叫它前进,车却在原地打转。那两个马达是反方向装上去的,一个朝左一个朝右,所以同样的电压,从车外看过去会让它们转向相反。只在其中一个马达的 OUT 端子上把两根线对调,代码不要动——这是接线问题,不是逻辑问题。
车走了一下,Arduino 就复位。18650 电池组一掉电,L298N 模块上那颗 5 V 稳压器就失去它维持稳定 5 V 所需要的电压余量,于是每次马达猛拉电流,Uno 就复位一次。分界点大约在输入 7 V 上下:一组已经掉到这条线以下的 2S 电池组,就算马达还转得动,也会把 Uno 复位。演示前一天早上用万用表量一量电池组、再充满——这不是板子坏了。
代码没错,遥控器却没反应。红外套件里的遥控器出厂时,纽扣电池下面垫着一片绝缘塑料舌,免得电池在仓库里慢慢放掉。先把那片舌头拉出来,再在专题袋里备一颗 CR2025 电池。
常见问题
RBT 专题里的遥控小车是什么?
一辆你自己做的小车,有两个分开打分的部分:机械系统(底板、马达、齿轮、轮子、电池位置)和控制系统(接收无线指令的电路)。那些指令可以来自红外线遥控器、走蓝牙的手机,或者你自己做的无线电遥控器。
RBT 专题的遥控小车要怎么做?
先把车做出来,遥控放到后面。切割并钻好底板,装两个 TT 马达配 68 mm 轮子和一颗万向球轮,把两个马达接到 L298N 模块,用两节 18650 的电池组给 L298N 供电并和 Uno 共地,然后用机械测试代码试车能不能走直线。做到这里,才去选一条遥控路线——红外线遥控器、用手机走蓝牙,或者一对 nRF24L01——再照那条路线的接线指南做下去。
六年级的 RBT 遥控小车,哪一种做法最容易?
红外线遥控这条路。遥控器本来就在 HX1838 套件的盒子里,不用装 App,也不用再搭第二套电路。它的限制是:遥控器必须直接对准接收头,距离大约 5 到 8 米,所以演示的时候要安排成车朝着你开。
为什么我的车在桌上会动,放到地上就不动了?
通常不是电压问题就是抓地力问题。L298N 在 1 A 时会掉 1.8 V 到 3.2 V,所以四节 AA 的 6 V 电池组只剩大约 3 V 给马达——不够推动整辆车。换成两节 18650 的电池组(7.4 V)就解决了。如果电压已经对了,就确认电池盒放得够低、而且正好压在两个驱动轮上方。
一辆车真的需要两个 nRF24L01 模块吗?
需要。nRF24L01 是双向无线电:一个模块坐在车上,另一个坐在手持遥控器里,而那支遥控器还需要第二块 Uno 板和它自己的电源。这就是这条路在三个选项里最贵的原因,也是它成为唯一一条不必对准接收头、也不必用手机的路的原因。
可以用现成的底盘套件,还是一定要自己切底板?
两种都行,但自己切割和钻孔做底板,往往正是会被打分的机械部分,所以先看清楚作业纸。如果允许买现成底板,2WD 套件一次就给你亚克力底板、马达、轮子和万向球轮。
最后更新:2026年9月。有问题?WhatsApp 联系我们。



Arduino Uno Compatible SMD UNO R3 with Type B Cable - ATMEGA328P with CH340G-Microcontroller Project
L298N Motor Driver Module Arduino Compatible Dual H Bridge Dual DC Motor Control Arduino Robotic Car
TT MOTOR WITH WIRE 3-6V DC 200RPM 1:48 GEARBOX MOTOR WITH WIRES PRE-SOLDERED
200RPM TT MOTOR With 68mm Wheel 3V 5V 6V 9V Motor Plastic Gear Motor For Arduino Smart Car - WHEEL (FOR TT MOTOR)
Ball Caster Wheel Ball Transfer Eye Ball Roller Caster Bull Eye Wheel For Arduino Smart Car
18650 Battery Holder 1/2/3/4 Slot 3.7V Battery Cell Housing Battery Case Battery Casing - 18650 BATTERY HOLDER (2)
3.7V 18650 Battery Rechargeable Li-Ion Battery 1200mAh 2200mAh 3200mAh Flat Top - 18650 Li-Ion Battery (2200mAh)
40pcs Dupont Wire 10cm 20cm 30cm for Breadboard DIY Experiment Jumper Wire Breadboard wire - DUPONT WIRE M-F 20CM
HX1838 IR Remote Control Set Infrared Receiver Module Kit with Remote Controller for Arduino Pi DIY Projects
Wireless Bluetooth Module HC-05 HC-06 Master Slave Bluetooth Module HC05 HC06 - HC-05 BLUETOOTH MODULE
High Performance NRF24L01 RF Wireless Transceiver Module Antenna 2.4Ghz 1100m - NRF24L01 RF MODULE
2WD 4WD Smart Car Chassis Single Layer Acrylic Arduino Smart Car Chassis Kit With Motor - 2WD CAR KIT