RBT 遥控小车专题(六年级 / 中三):三种遥控方式怎么选

Kartun kereta robot dua roda dengan tapak akrilik jernih, dua roda kuning bertayar hitam, motor gear kuning, roda bebola perak, pek bateri hitam dengan dua sel 18650 biru, papan pemacu motor merah dan papan pengawal biru kecil, dengan remote hitam di hadapan

六年级和中三的 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 板载天线的模块,覆盖一个学校礼堂已经绰绰有余。

三条遥控路线里,只挑一条

ItemPriceQty
HX1838 IR Remote Control Set Infrared Receiver Module Kit with Remote Controller for Arduino Pi DIY ProjectsHX1838 IR Remote Control Set Infrared Receiver Module Kit with Remote Controller for Arduino Pi DIY ProjectsHX1838RRM4.95
Wireless Bluetooth Module HC-05 HC-06 Master Slave Bluetooth Module HC05 HC06 - HC-05 BLUETOOTH MODULEWireless Bluetooth Module HC-05 HC-06 Master Slave Bluetooth Module HC05 HC06 - HC-05 BLUETOOTH MODULEHC05BTMRM13.95缺货
High Performance NRF24L01 RF Wireless Transceiver Module Antenna 2.4Ghz 1100m - NRF24L01 RF MODULEHigh Performance NRF24L01 RF Wireless Transceiver Module Antenna 2.4Ghz 1100m - NRF24L01 RF MODULENRF24RFRM4.45

HX1838 这一套里已经附了遥控器、三条连接线和一颗发射 LED——演示前请自己准备一颗 CR2025 纽扣电池,并把遥控器底下那片绝缘塑料舌拉出来。蓝牙这条路用学生自己的手机当发射端。nRF24L01 这条路需要两个模块,再加一块 Uno 板来做手持遥控器。

三行对比卡通图;上排是黑色遥控器射出一束又窄又直的虚线,中排是手机发出中等大小的信号弧线,下排是蓝色 Arduino 板配黑色 nRF24L01 无线电模块并发出大幅信号弧线,三排都指向同一辆两轮机器人小车
同一辆车上的三条遥控路线。红外线遥控送出的是必须直接对准的直线光束;蓝牙用手机当发射端,属于中等距离的无线电;一对 nRF24L01 则配上自己做的遥控器,给出三者之中最远的距离。

机械系统:到底哪些部分真的会被打分?

学校专题车用的 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 的电池盒是整辆车上最重的东西。把它往前摆到万向球轮上方,重量就从驱动轮上挪走了,于是轮胎在瓷砖地上打滑。把它架高,重心跟着升高:车子起步或者急停的那一瞬间,电池盒的惯性会绕着轮轴把车往上翻,车头抬起来,万向球轮离地。把电池盒放低,而且正好压在两个驱动轮上方,这两个毛病会同时消失。

选配:现成底盘套件,如果作业允许买现成底板

ItemPriceQty
2WD 4WD Smart Car Chassis Single Layer Acrylic Arduino Smart Car Chassis Kit With Motor - 2WD CAR KIT2WD 4WD Smart Car Chassis Single Layer Acrylic Arduino Smart Car Chassis Kit With Motor - 2WD CAR KIT2WDSCARRM13.95缺货
2WD 4WD Smart Car Chassis Single Layer Acrylic Arduino Smart Car Chassis Kit With Motor - 4WD CAR KIT2WD 4WD Smart Car Chassis Single Layer Acrylic Arduino Smart Car Chassis Kit With Motor - 4WD CAR KIT4WDSCARRM29.95

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 联系我们

Leave a Reply

Your email address will not be published. Required fields are marked *