科创科普:给电路装上「小脑袋」——micro:bit 与 Arduino 开源硬件入门

一、从「只会亮」到「会思考」 用电池、导线和灯泡,你能做一个会亮的电路;但那盏灯只会一直亮着,你换个环境它也不知道。如果给它加上一块能读程序、能判断、能下命令的小板子,这盏灯就能变成「天黑自动亮、天亮自动灭」——这块小板子就是主控板(微控制器)。它相当于给电路装上了一个「小脑袋」。中小学科创里最常打交道的两块主控板是 micro:bit 和 Arduino。

二、主控板上有什么:心、手脚、感官 1. 「心」——芯片。板上最关键的是那颗微控制器芯片,里面能存下你写的程序。Arduino Uno 用的是 ATmega328P,micro:bit v2 用的是 nRF52833。它们比手机芯片简单得多,但足以读传感器、做判断、控电机。 2. 「手脚」——引脚。板子边缘一排金属孔就是引脚,用来接传感器、灯、蜂鸣器、电机。引脚分三类:电源脚(3.3V 或 5V、GND)、数字脚(只有「高/低」两种状态,适合按钮、继电器)、模拟脚(能读出连续数值,适合光敏电阻、电位器)。 3. 「感官」——传感器。micro:bit 板载了 5×5 LED 点阵、两个按钮 A/B、加速度计(测倾斜和摇动)、磁力计(当指南针)、温度传感器、光线传感器,v2 还多了麦克风和扬声器。所以它开箱就能做很多实验,不用先接线。Arduino 则要外接模块。

三、micro:bit 和 Arduino,先学哪个? · micro:bit:图形化积木(MakeCode)+ 内置传感器,插上USB就能编程,电池盒装两节7号电池即可脱离电脑运行。适合零基础、小学高年级到初一,两节课就能做出作品。 · Arduino:用 C/C++ 在 Arduino IDE 里写代码,引脚多、扩展板多、能直接驱动电机和舵机,适合已会一点编程、想做更「硬」的机器人项目的同学。 实用的路线:先用 micro:bit 建立「输入—处理—输出」的思维,再转 Arduino 做机器人和自动化。 无论用哪块,程序的结构永远是同一个三段式:读取输入 → 判断处理 → 驱动输出。

四、第一个程序:让灯闪起来 micro:bit 的 MicroPython 写法(永远重复的部分用 while True:):   from microbit import *   while True:    display.show(Image.HEART)    sleep(500)    display.clear()    sleep(500) 运行结果:心形图案亮半秒、灭半秒,不停循环。sleep 的单位是毫秒,500 就是0.5秒。 Arduino 的写法(setup 只跑一次,loop 反复跑):   void setup() { pinMode(13, OUTPUT); }   void loop() {    digitalWrite(13, HIGH); delay(500);    digitalWrite(13, LOW); delay(500);   } 两段代码做的事完全一样:点亮 → 等待 → 熄灭 → 等待 → 再来一遍。对比着看,你会发现「变量、判断、循环」这三样基本功走到哪儿都用得上。

五、按下按钮才亮:第一次「判断」   from microbit import *   while True:    if button_a.is_pressed():    display.show(Image.HAPPY)    else:    display.show(Image.ASLEEP) 这段程序读的是「按钮这个输入」,做的是 if 判断,输出到点阵屏。改成「光线暗时显示笑脸、亮时显示睡觉脸」,就是一个光控小夜灯的原型了(把条件换成 display.read_light_level() < 100)。

六、案例:不会浇死花的「提醒器」 材料:micro:bit + 两节电池盒 + 一根导线做土壤湿度探针(也可用湿度模块)。 思路:把探针插进花盆,导线接到模拟脚,读回的数值越小说明越干;设定一个阈值,低于阈值就报警。   from microbit import *   while True:    v = pin0.read_analog() # 读模拟值,0~1023    if v < 300:    display.show(Image.SAD) # 该浇水了    pin1.write_digital(1) # 让蜂鸣器响    else:    display.show(Image.YES)    pin1.write_digital(0)    sleep(1000) 调试小技巧:先把读到的数值显示出来,观察「干土」和「湿土」各是多少,再定阈值。一上来就写死数字,多半会误报——这就是工程师常说的「先测量,再设阈」。

七、接线安全四条(务必记住) 1. 认准电压:micro:bit 引脚是 3.3V,Arduino Uno 是 5V。不要把 5V 的信号线直接接到 3.3V 的板子上,可能烧坏引脚。 2. 断电接线:改线时先拔掉电源和USB,接好再通电。 3. 电源和地别接反:VCC 接 VCC、GND 接 GND,接反是最常见的「冒烟原因」。 4. 电机、舵机这类「吃电大户」不要直接从引脚取电,要单独供电并共地(GND 连在一起)。

八、练习 1. 基础题:写一个程序,让 micro:bit 显示从 9 倒数到 0,每秒减 1,到 0 时显示「GO」。 2. 判断题:micro:bit 上板载了光线传感器,所以做光控灯不需要外接元件。(答案:对。) 3. 设计题:用按钮 A 当「加1」、按钮 B 当「清零」,做一个小计数器并在点阵屏上显示。 4. 应用题:设计一个「坐姿提醒器」——利用加速度计判断板子倾斜过大时报警。写出「输入、判断、输出」三部分分别是什么。 5. 思考题:为什么 Arduino 的程序要分成 setup 和 loop 两部分,而 micro:bit 用一句 while True 就够?它们想表达的意思是什么?

九、一句话总结 主控板不是玩具,而是把「想法」变成「装置」的桥梁。只要抓住「读输入—做判断—给输出」这条主线,无论是 5×5 的点阵屏,还是一个会自己找路的机器人,道理都是同一套。