比赛套件部件速查系统
用法:Ctrl+F 搜型号/名称 → 看外观图 → 接线 → 编程 所有传感器都有对应外观图,含完整 Mind+图形化 + Python 编程说明
主控板
行空板 M10

| 项目 | 详情 |
|---|---|
| CPU/内存 | RK3308 四核1.2GHz / 512MB DDR3 |
| 系统 | Debian 10 + Python 3 + OpenCV + MQTT 预装 |
| 屏幕 | 2.8寸 240×320 电阻触摸屏 |
| 板载元件 | 麦克风(正面右侧孔)、光线传感器(正面左上)、蜂鸣器(背面)、L灯(背面蓝色)、六轴加速度(背面) |
| 物理按键 | Home键(屏幕下方)、A键(左)、B键(右) |
| 供电口 | USB-C (5V,仅从此供电) |
| USB口 | USB-A ×1(接摄像头/U盘) |
| 3Pin IO口 | P21/P22/P23/P24(3.3V电平) |
| 4Pin I2C | 2个独立通道 |
| 金手指 | 兼容micro:bit扩展板,引出P0~P20 |
| 连接方式 | USB: 10.1.2.3 / 热点: 192.168.123.1 |
Python 初始化模板:
from unihiker import GUI, Audio
from pinpong.board import Board, Pin
from pinpong.extension.unihiker import *
Board().begin()
u_gui = GUI()
u_audio = Audio()详见:[[02-行空板M10从零开始]]
Arduino UNO R3 — DFR0216

| 项目 | 详情 |
|---|---|
| 芯片 | ATmega328P 16MHz |
| 数字引脚 | D0~D13(PWM: D3/D5/D6/D9/D10/D11) |
| 模拟引脚 | A0~A5(10位ADC) |
| 供电 | USB 5V 或 7-12V DC口 |
| 编程 | Mind+上传模式 或 Arduino IDE |
用途:与M10配合,UNO负责实时传感器采集,M10负责屏幕显示和MQTT通信。
传感器
DHT11 温湿度 — DFR0067

外观:蓝色方盒,正面开窗栅格,标注 DHT11,3Pin接口
| 参数 | 值 |
|---|---|
| 温度范围/精度 | 0~50°C, ±2°C |
| 湿度范围/精度 | 20~95%RH, ±5%RH |
| 采样周期 | ≥1秒 |
| 接线 | 红线VCC→3.3V, 黑线GND→GND, 绿线DATA→任意数字脚(如P4) |
Mind+:扩展→pinpong库→搜索DHT→加载「DHT11/22温湿度传感器」→拖「初始化DHT11 引脚P4」→拖「读取温度(°C)」「读取湿度(%RH)」
from pinpong.board import Board, Pin
from pinpong.libs.dfrobot_dht11 import DHT11
Board().begin()
dht = DHT11(Pin(Pin.P4))
temp = dht.temp_c() # 温度°C
humi = dht.humidity() # 湿度%应用范例:温控风扇 - DHT11读数>30°C→舵机转180°模拟开风扇
超声波 HC-SR04 — SEN0307

外观:蓝色PCB,两个银色圆柱体(T=发射/R=接收),4Pin排针
| 参数 | 值 |
|---|---|
| 测距范围 | 2~400cm |
| 精度 | ±3mm |
| 工作电压 | 5V(3.3V不稳定) |
| 接线 | 红VCC→5V, 黑GND→GND, TRIG→P16, ECHO→P15(ECHO输出5V,串1KΩ保护M10 IO) |
Mind+:扩展→pinpong→超声波→拖「初始化Trig=P16 Echo=P15」→拖「读取距离(cm)」
from pinpong.board import Board, Pin
from pinpong.libs.dfrobot_ultrasonic import Ultrasonic
Board().begin()
sonic = Ultrasonic(Pin(Pin.P16), Pin(Pin.P15))
dist = sonic.distance_cm()自动门禁逻辑:dist < 30cm → 舵机开门; 否则关门
光线传感器(外接)— DFR0026

外观:小蓝色PCB,顶部白色光敏电阻元件,3Pin Gravity接口
| 参数 | 值 |
|---|---|
| 类型 | 模拟电压输出 |
| 值范围 | 0~4095(越大越亮) |
| 接线 | 红VCC→5V, 黑GND→GND, 黄OUT→任意ADC脚(如P21) |
Mind+:拖「读取模拟引脚 P21」(扩展→行空板M10自动有)
adc = Pin(Pin.P21, Pin.ANALOG)
val = adc.read_analog() # 0~4095板载光线传感器(M10内置)
位置:屏幕正上方左侧小圆孔
from pinpong.extension.unihiker import *
val = light.read() # 0~4095声音传感器(外接)— DFR0034

外观:蓝色PCB,带驻极体麦克风(银色小圆柱),3Pin接口
| 参数 | 值 |
|---|---|
| 类型 | 模拟输出(环境音量) |
| 接线 | 红VCC→5V, 黑GND→GND, 黄OUT→ADC脚 |
adc = Pin(Pin.P21, Pin.ANALOG)
val = adc.read_analog()板载麦克风(M10内置)
位置:屏幕正上方右侧小孔
from unihiker import Audio
audio = Audio()
level = audio.sound_level() # 0~4095
audio.record("msg.wav", 5) # 录音5秒
audio.play("msg.wav") # 播放MQ 模拟烟雾传感器
外观:蓝色PCB,顶部带金属网罩(传感器头),6Pin排针,可调电位器
| 参数 | 值 |
|---|---|
| 类型 | 模拟输出(值越大烟雾越浓) |
| 预热时间 | ≥30秒(刚上电读数不准) |
| 接线 | 红VCC→5V, 黑GND→GND, AOUT→ADC脚 |
adc = Pin(Pin.P21, Pin.ANALOG)
# 先测正常环境值作为基准
baseline = adc.read_analog()
time.sleep(1)
val = adc.read_analog()
if val > baseline * 1.5: # 比正常高50%=有烟雾
print("烟雾告警!")火焰传感器 — DFR0076
外观:蓝色PCB,前端黑色红外接收管,4Pin接口(含AO/DO双输出)
| 参数 | 值 |
|---|---|
| 检测波长 | 760~1100nm红外火焰光谱 |
| 检测距离 | 0~100cm(越近值变化越明显) |
| 接线 | 红VCC→5V, 黑GND→GND, AO→ADC脚, DO→数字脚(可选) |
# 模拟方式(值越小=离火越近)
fire_adc = Pin(Pin.P21, Pin.ANALOG)
val = fire_adc.read_analog()
if val < 200:
print("火焰!")
# 数字方式(触发后输出低电平)
fire_d = Pin(Pin.P23, Pin.IN)
if fire_d.read_digital() == 0:
print("检测到火焰!")人体红外传感器(PIR) — SEN0018
外观:白色长方形模块,中间有半球形菲涅尔透镜(白色凸起),3Pin接口
| 参数 | 值 |
|---|---|
| 检测距离 | 3~7米 |
| 检测角度 | 约110° |
| 输出 | 检测到人体移动→HIGH |
| 稳定时间 | 上电后约30秒(需要稳定期) |
| 接线 | 红VCC→5V, 黑GND→GND, 黄OUT→任意数字脚 |
注意:上电后前30秒输出不稳定(自检),需等待稳定后再判断
pir = Pin(Pin.P23, Pin.IN)
time.sleep(30) # 等待稳定!
while True:
if pir.read_digital() == 1:
print("检测到人移动!")
time.sleep(0.5)颜色传感器 TCS3200 — SEN0101
外观:蓝色PCB,正面白色LED灯(4个)围着一个光电二极管阵列,8Pin排针
| 参数 | 值 |
|---|---|
| 类型 | 频率输出 |
| S2/S3选择滤光 | 红(S2=L,S3=L)、蓝(S2=L,S3=H)、清除(S2=H,S3=L)、绿(S2=H,S3=H) |
| 接线 | VCC→5V, GND→GND, OUT→数字脚(测频率), S2/S3→数字脚, LED→数字脚(控制白灯) |
Mind+:扩展→pinpong→颜色传感器→拖初始化+读RGB
# 思路:选择滤光器→读OUT频率→换滤光器→读下一个
# 频率越低→该颜色越深
# 先用白色校准,再用被测物比较
from pinpong.board import Pin, Board
Board().begin()
# 滤光器切换
S2 = Pin(Pin.P2, Pin.OUT); S3 = Pin(Pin.P3, Pin.OUT)
OUT = Pin(Pin.P23, Pin.IN)
def read_color(S2_val, S3_val):
S2.write_digital(S2_val); S3.write_digital(S3_val)
time.sleep(0.01)
# 测量脉冲宽度(简化版)
count = 0
for _ in range(100):
if OUT.read_digital() == 1:
count += 1
return count
red = read_color(0,0) # 红色分量
blue = read_color(0,1) # 蓝色分量
green = read_color(1,1) # 绿色分量
print(f"RGB: {red},{green},{blue}")红外避障传感器 — SEN0019
外观:蓝色PCB,前端有红外发射管(透明)+接收管(黑色),带电位器可调距离
| 参数 | 值 |
|---|---|
| 检测距离 | 2~30cm(电位器可调) |
| 输出 | 有障碍→LOW |
| 接线 | 红VCC→5V, 黑GND→GND, 黄OUT→数字脚 |
ir = Pin(Pin.P23, Pin.IN)
if ir.read_digital() == 0:
print("有障碍物!")土壤湿度传感器 — SEN0114
外观:蓝色控制板 + 两支金属探针(插入土壤),3Pin接口
| 参数 | 值 |
|---|---|
| 类型 | 模拟输出(越湿值越小,越干值越大) |
| 接线 | 红VCC→5V, 黑GND→GND, 黄OUT→ADC脚 |
adc = Pin(Pin.P21, Pin.ANALOG)
moisture = adc.read_analog()
if moisture > 3000:
print("需要浇水!") # 干燥
elif moisture < 1500:
print("土壤湿润")六轴加速度+陀螺仪(M10板载)

位置:M10背面,芯片型号 ICM20689 / QMI8658C(6轴=3轴加速度+3轴陀螺仪)
Mind+:扩展→pinpong→拖「读取加速度X」
from pinpong.extension.unihiker import *
Board().begin()
ax = accelerometer.get_x() # 加速度(g)
ay = accelerometer.get_y()
az = accelerometer.get_z() # 静止≈1.0g(重力)
strength = accelerometer.get_strength() # 合加速度
gx = gyroscope.get_x() # 角速度(°/s)
gy = gyroscope.get_y()
gz = gyroscope.get_z()
# 倾倒检测
if abs(ax) > 0.8 or abs(ay) > 0.8:
print("设备倾倒!")倾斜传感器 — DFR0028
外观:蓝色小PCB,中间一个金属小球(可滚动),3Pin接口。倾斜时内部金属球滚动接通电路。
| 接线 | 红VCC→5V, 黑GND→GND, 黄OUT→数字脚 |
tilt = Pin(Pin.P23, Pin.IN)
if tilt.read_digital() == 1:
print("倾斜达到触发角度!")按钮模块 — DFR0029

外观:蓝色PCB,带一个圆形彩色按键帽(红/黄/蓝),按下时接通
| 状态 | 输出 | 接线 |
|---|---|---|
| 按下 | HIGH(1) | 红VCC→3.3V, 黑GND→GND, 黄SIG→数字脚(如P23) |
| 松开 | LOW(0) | M10板载A/B键可直接使用 |
Mind+:拖「如果 读取数字引脚 P23 = 1 则...」
btn = Pin(Pin.P23, Pin.IN)
if btn.read_digital() == 1:
print("按下")板载A/B键:
if button_a.is_pressed(): print("A键")
if button_b.is_pressed(): print("B键")紫外线传感器 — SEN0175 (ML8511)
外观:蓝色PCB,顶部是UV检测芯片(小黑色方块),3Pin接口
| 参数 | 值 |
|---|---|
| 输出 | 模拟电压,值越大紫外线越强 |
| 接线 | 红VCC→3.3V, 黑GND→GND, 黄OUT→ADC脚 |
adc = Pin(Pin.P21, Pin.ANALOG)
raw = adc.read_analog()
# 换算成UV Index
voltage = raw / 4095 * 3.3
uv_index = (voltage - 1.0) / 0.1 # 粗略估算
if uv_index < 3: print("紫外线弱")
elif uv_index < 6: print("中等")
else: print("紫外线强!")空气质量传感器 — SEN0144 (Sharp GP2Y10)
外观:灰色长方体模块,侧面有进风口/出风口,4Pin排针
| 参数 | 值 |
|---|---|
| 检测 | 空气中粉尘/PM2.5浓度 |
| 接线 | 红VCC→5V, 黑GND→GND, OUT→ADC脚, LED→数字脚 |
# 注意:需要脉冲驱动LED脚每10ms读一次值,简化版直接用OUT
adc = Pin(Pin.P21, Pin.ANALOG)
dust = adc.read_analog()
print(f"粉尘值: {dust}") # 越高越脏TDS水质传感器 — SEN0244
外观:蓝色电路板 + 两根金属探针(浸入水中),防水设计
| 参数 | 值 |
|---|---|
| 检测 | 水中溶解物浓度(ppm) |
| 接线 | 红VCC→5V, 黑GND→GND, 黄OUT→ADC脚 |
adc = Pin(Pin.P21, Pin.ANALOG)
tds_raw = adc.read_analog()
voltage = tds_raw / 4095 * 5.0
# TDS ≈ 电压 * 换算系数
print(f"TDS值: {tds_raw}")振动传感器(弹簧开关) — DFR0027
外观:蓝色PCB,侧面或顶部有一个细弹簧(传感器元件),3Pin接口。振动时长弹簧抖动触发信号。
| 接线 | 红VCC→5V, 黑GND→GND, 黄OUT→数字脚 |
vib = Pin(Pin.P23, Pin.IN)
vib_count = 0
while True:
if vib.read_digital() == 1:
vib_count += 1
print(f"振动!×{vib_count}")
time.sleep(0.1) # 防抖
time.sleep(0.05)模拟电压检测 — DFR0051
外观:蓝色小PCB,3Pin接口,标注VCC/GND/S,用于测量直流电压(分压原理)
| 接线 | 红VCC→被测电源+, 黑GND→GND共地, 黄S→ADC脚 |
adc = Pin(Pin.P21, Pin.ANALOG)
voltage = adc.read_analog() * 5.0 / 4095 # 直流0~5V量程
print(f"电压: {voltage:.2f}V")执行器
9g舵机 — SER0039

外观:蓝色/白色小方盒(23×12×29mm),3条杜邦线(棕/红/橙),带白色摆臂和齿轮
| 参数 | 值 |
|---|---|
| 角度范围 | 0~180° |
| 控制信号 | PWM 50Hz (周期20ms) |
| 脉宽映射 | 0.5ms→0°, 1.5ms→90°, 2.5ms→180° |
| ⚠ 接线 | 棕GND→GND, 红VCC→5V(扩展板!), 橙SIG→PWM脚 |
| ⚠ 注意 | 必须用扩展板供电!支持PWM的脚:P21/P22/P23/P0/P2/P3/P10/P16 |
Mind+:扩展→pinpong→舵机→拖「初始化 P21」→拖「转到90度」
from pinpong.libs.dfrobot_servo import Servo
servo = Servo(Pin(Pin.P21))
servo.angle(90) # 到90度
servo.angle(0) # 到0度
servo.angle(180) # 到180度平滑转动函数:
def smooth_move(servo, target, step=2, delay=0.02):
cur = servo.angle() or 90
r = range(cur, target+1, step) if target > cur else range(cur, target-1, -step)
for a in r:
servo.angle(a); time.sleep(delay)LED模块 — DFR0031

外观:蓝色小PCB,一颗3mm/5mmLED灯珠(红/绿/蓝/白),3Pin接口
| 接线 | 红VCC→3.3V(带电阻), 黑GND→GND, 黄SIG→数字脚(或PWM脚调光) |
Mind+:拖「数字引脚P21输出高电平」
led = Pin(Pin.P21, Pin.OUT)
led.write_digital(1) # 开
led.write_digital(0) # 关
# PWM调光(需PWM脚)
led_pwm = Pin(Pin.P21, Pin.PWM)
led_pwm.write_analog(512) # 50%亮度 (0~1023)WS2812 RGB灯带(7珠)
外观:柔性FPC排线,上面有7个5050 RGB LED(每珠独立控制),3Pin接口
| 接线 | 红VCC→3.3V(短条)/5V(长条), 白GND→GND, 绿DIN→任意数字脚 |
from pinpong.libs.dfrobot_ws2812 import WS2812
leds = WS2812(Pin(Pin.P21), 7) # 7个灯珠
leds.set_color(0, 255, 0, 0) # 珠0: 红色 (R,G,B)
leds.set_color(1, 0, 255, 0) # 珠1: 绿色
leds.set_color(2, 0, 0, 255) # 珠2: 蓝色
leds.show() # 刷新显示!
leds.set_color_all(0, 0, 0); leds.show() # 全灭蜂鸣器(M10板载)
位置:M10背面,黑色圆形
from pinpong.extension.unihiker import *
buzzer.play(buzzer.DADADADUM, buzzer.Once) # 播放一次
buzzer.pitch(440, 4) # 440Hz 4拍
buzzer.stop() # 停止预置曲:DADADADUM, ENTERTAINER, PRELUDE, ODE, NYAN, RINGTONE, FUNK, BLUES, BIRTHDAY, WEDDING
蜂鸣器模块 — DFR0032
外观:蓝色PCB,黑色圆形蜂鸣器,3Pin接口
| 类型 | 有源=通电就响(高低电平控制); 无源=需PWM频率 | | 接线 | 红VCC→3.3V, 黑GND→GND, 黄SIG→数字脚 |
buzz = Pin(Pin.P22, Pin.OUT)
buzz.write_digital(1) # 响(有源)
buzz.write_digital(0) # 停喇叭模块(带功放) — FIT0449
外观:PCB带功放芯片 + 小纸盆喇叭,3Pin接口
| 接线 | 红VCC→5V, 黑GND→GND, 黄SIG→M10音频输出(或DAC) | | 用途 | 放大M10发出的音频信号到外接喇叭播放 |
OLED 128×64 — DFR0550

外观:蓝色PCB,0.96寸OLED屏幕(黑色显示区域),4Pin I2C接口
| 参数 | 值 |
|---|---|
| 分辨率 | 128×64 像素,4行文本 |
| 驱动芯片 | SSD1306 |
| 协议 | I2C,地址0x3C |
| 接线 | 红VCC→3.3V, 黑GND→GND, 黄SCL→SCL, 蓝SDA→SDA |
Mind+:扩展→pinpong→SSD1306 OLED→拖「初始地址0x3C」→拖「显示文字」
from pinpong.libs.dfrobot_ssd1306 import SSD1306_I2C
oled = SSD1306_I2C(128, 64)
oled.begin()
oled.set_cursor(0, 0); oled.print("温度: 25.5C")
oled.set_cursor(0, 16); oled.print("湿度: 60%")
oled.set_cursor(0, 32); oled.print("状态: 正常")
oled.show()
oled.fill(0); oled.show() # 清屏直流电机/风扇 — DFR0332
外观:带扇叶的直流电机模块,3Pin接口或通过扩展板M1口连接
| 接线 | 通过扩展板(如MBT0014/DFR1198): M1A→方向脚, M1B→PWM脚 |
dir_pin = Pin(Pin.P2, Pin.OUT)
pwm_pin = Pin(Pin.P10, Pin.PWM)
dir_pin.write_digital(1) # 正转
pwm_pin.write_analog(800) # 速度0~1023
time.sleep(2)
pwm_pin.write_analog(0) # 停
dir_pin.write_digital(0) # 反转
pwm_pin.write_analog(800)通信模块
OBLOQ物联网模块 — TEL0113
外观:蓝色PCB,ESP8266芯片,板载天线,4Pin串口接口
| 接线(接Arduino) | 红VCC→5V, 黑GND→GND, TX→D2(RX), RX→D3(TX) |
Mind+:扩展→通讯→OBLOQ物联网→拖初始化和收发积木
#include <UNO_Obloq.h>
#include <SoftwareSerial.h>
SoftwareSerial ss(2, 3);
UNO_Obloq olq;
const String topics[] = {"aaa/b","aaa/c","","",""};
void setup() {
ss.begin(9600);
olq.startConnect(&ss, "WiFi名","密码","siot","dfrobot",topics,"192.168.123.1",1883);
}
void loop() {
if(olq.available(olq.topic_0))
String msg = olq.getMessage(olq.topic_0); // 收
olq.publish(olq.topic_1, "{\"temp\":25}"); // 发
}蓝牙模块 HC-05/HC-06
外观:蓝色PCB,板载天线和按键(HC-05有),支持主从模式
| 接线 | 红VCC→5V, 黑GND→GND, TX→行空板RX(P0), RX→行空板TX(P3) |
红外接收 — DFR0094 + 遥控器 — DFR0107
外观:接收模块=蓝色PCB带红外接收头(黑色三脚);遥控器=卡片式带若干按键
| 接线(接收) | 红VCC→5V, 黑GND→GND, 黄OUT→数字脚 |
AI模块
HUSKYLENS 二哈视觉 — SEN0307
外观:银色金属外壳方盒,带摄像头镜头和2.0寸IPS屏幕,4Pin I2C接口
| 协议 | I2C / UART | | 功能 | 人脸识别、物体分类/追踪、颜色识别、二维码、巡线(全部离线,无需网络) | | 接线 | 红VCC→3.3V/5V, 黑GND→GND, 蓝SDA→SDA, 黄SCL→SCL |
Mind+:扩展→传感器→二哈识图→拖初始化(I2C模式)→拖算法切换积木
语音合成模块 — DFR0760
外观:黑色/红色PCB,带3.5mm音频接口(或自带小喇叭),4Pin I2C接口
| 协议 | I2C,离线中文TTS | | 接线 | 红VCC→3.3V/5V, 黑GND→GND, 黄SCL→SCL, 蓝SDA→SDA |
from DFRobot_SpeechSynthesis_I2C import DFRobot_SpeechSynthesis_I2C
stts = DFRobot_SpeechSynthesis_I2C(); stts.begin(stts.eV2)
stts.setVolume(8); stts.setSpeed(5)
stts.speak("欢迎使用智能系统") # 直接朗读中文
stts.speak(f"当前温度{temp}度") # 朗读包含变量USB摄像头
外观:USB摄像头模组,带CMOS图像传感器和镜头,USB-A接口直接插入M10
import cv2
vd = cv2.VideoCapture()
vd.open(0) # 打开第一个USB摄像头
while not vd.isOpened(): pass # 等待就绪
ret, frame = vd.read() # 拍照
cv2.imwrite("photo.png", frame) # 保存
vd.release() # 释放摄像头扩展板
掌控IO扩展板 — MBT0014
| 兼容 | M10 / micro:bit / 掌控板 | | 接口 | 10路3Pin GPIO + 3路I2C + 2路电机驱动 | | 供电 | 3.5~5V(PH2.0电池口或microUSB) | | 特色 | 板载蜂鸣器、乐高兼容孔位 | | 用法 | M10金手指朝下插入即可 |
M10电源扩展板 — DFR1198
| 接口 | 双路电机驱动、红外收发、RGB灯 | | 供电 | USB 5V(必须打开侧边电源开关!) | | 适合 | 驱动5V传感器和直流电机(舵机电流够用) |
快速查找索引
| 想做什么 | 用什么 | 型号 | 接哪里 |
|---|---|---|---|
| 测温度湿度 | DHT11 | DFR0067 | 任意数字脚 |
| 测距离 | 超声波 | HC-SR04 | Trig/P16, Echo/P15 |
| 检测光线 | 板载/外接 | DFR0026 | 内置P29/ADC脚 |
| 检测声音 | 板载/外接 | DFR0034 | 内置/ADC脚 |
| 检测烟雾 | MQ传感器 | MQ-2/5 | ADC脚 |
| 检测火焰 | 火焰 | DFR0076 | ADC脚 |
| 检测人体移动 | PIR红外 | SEN0018 | 数字脚 |
| 识别颜色 | 颜色 | TCS3200(SEN0101) | S2/S3数字,OUT频率 |
| 检测障碍 | 红外避障 | SEN0019 | 数字脚 |
| 测土壤湿度 | 土壤湿度 | SEN0114 | ADC脚 |
| 检测倾斜 | 倾斜 | DFR0028 | 数字脚 |
| 检测振动 | 振动 | DFR0027 | 数字脚 |
| 测紫外线 | 紫外线 | ML8511(SEN0175) | ADC脚 |
| 测空气质量 | 粉尘 | GP2Y10(SEN0144) | ADC+LED脚 |
| 测水质TDS | TDS | SEN0244 | ADC脚 |
| 测电压 | 电压检测 | DFR0051 | ADC脚 |
| 控制角度 | 舵机 | SER0039 | PWM脚 |
| 开关灯 | LED | DFR0031 | 数字/PWM脚 |
| RGB彩灯 | WS2812灯带 | 7珠 | 任意数字脚 |
| 播放声音 | 语音合成 | DFR0760 | I2C |
| 显示数据 | OLED | SSD1306(DFR0550) | I2C |
| 拍照监控 | USB摄像头 | - | USB-A |
| 视觉AI | 二哈 | HUSKYLENS(SEN0307) | I2C |
| 让Arduino联网 | OBLOQ | TEL0113 | D2/D3 |
| 手机蓝牙控制 | 蓝牙 | HC-05/06 | TX/RX |