Skip to content

比赛套件部件速查系统

用法:Ctrl+F 搜型号/名称 → 看外观图 → 接线 → 编程 所有传感器都有对应外观图,含完整 Mind+图形化 + Python 编程说明


主控板

行空板 M10

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 I2C2个独立通道
金手指兼容micro:bit扩展板,引出P0~P20
连接方式USB: 10.1.2.3 / 热点: 192.168.123.1

Python 初始化模板

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

UNO参考
项目详情
芯片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

外观:蓝色方盒,正面开窗栅格,标注 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)」

python
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)」

python
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自动有)

python
adc = Pin(Pin.P21, Pin.ANALOG)
val = adc.read_analog()    # 0~4095

板载光线传感器(M10内置)

位置:屏幕正上方左侧小圆孔

python
from pinpong.extension.unihiker import *
val = light.read()          # 0~4095

声音传感器(外接)— DFR0034

声音传感器

外观:蓝色PCB,带驻极体麦克风(银色小圆柱),3Pin接口

参数
类型模拟输出(环境音量)
接线红VCC→5V, 黑GND→GND, 黄OUT→ADC脚
python
adc = Pin(Pin.P21, Pin.ANALOG)
val = adc.read_analog()

板载麦克风(M10内置)

位置:屏幕正上方右侧小孔

python
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脚
python
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→数字脚(可选)
python
# 模拟方式(值越小=离火越近)
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秒输出不稳定(自检),需等待稳定后再判断

python
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

python
# 思路:选择滤光器→读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→数字脚
python
ir = Pin(Pin.P23, Pin.IN)
if ir.read_digital() == 0:
    print("有障碍物!")

土壤湿度传感器 — SEN0114

外观:蓝色控制板 + 两支金属探针(插入土壤),3Pin接口

参数
类型模拟输出(越湿值越小,越干值越大)
接线红VCC→5V, 黑GND→GND, 黄OUT→ADC脚
python
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」

python
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→数字脚 |

python
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 则...」

python
btn = Pin(Pin.P23, Pin.IN)
if btn.read_digital() == 1:
    print("按下")

板载A/B键

python
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脚
python
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→数字脚
python
# 注意:需要脉冲驱动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脚
python
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→数字脚 |

python
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脚 |

python
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度」

python
from pinpong.libs.dfrobot_servo import Servo
servo = Servo(Pin(Pin.P21))
servo.angle(90)     # 到90度
servo.angle(0)      # 到0度
servo.angle(180)    # 到180度

平滑转动函数

python
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

LED

外观:蓝色小PCB,一颗3mm/5mmLED灯珠(红/绿/蓝/白),3Pin接口

| 接线 | 红VCC→3.3V(带电阻), 黑GND→GND, 黄SIG→数字脚(或PWM脚调光) |

Mind+:拖「数字引脚P21输出高电平」

python
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→任意数字脚 |

python
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背面,黑色圆形

python
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→数字脚 |

python
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

OLED

外观:蓝色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」→拖「显示文字」

python
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脚 |

python
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物联网→拖初始化和收发积木

cpp
#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模式)→拖算法切换积木

📕HUSKYLENS详细资料.pdf📖 预览

语音合成模块 — DFR0760

外观:黑色/红色PCB,带3.5mm音频接口(或自带小喇叭),4Pin I2C接口

| 协议 | I2C,离线中文TTS | | 接线 | 红VCC→3.3V/5V, 黑GND→GND, 黄SCL→SCL, 蓝SDA→SDA |

python
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

python
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传感器和直流电机(舵机电流够用) |


快速查找索引

想做什么用什么型号接哪里
测温度湿度DHT11DFR0067任意数字脚
测距离超声波HC-SR04Trig/P16, Echo/P15
检测光线板载/外接DFR0026内置P29/ADC脚
检测声音板载/外接DFR0034内置/ADC脚
检测烟雾MQ传感器MQ-2/5ADC脚
检测火焰火焰DFR0076ADC脚
检测人体移动PIR红外SEN0018数字脚
识别颜色颜色TCS3200(SEN0101)S2/S3数字,OUT频率
检测障碍红外避障SEN0019数字脚
测土壤湿度土壤湿度SEN0114ADC脚
检测倾斜倾斜DFR0028数字脚
检测振动振动DFR0027数字脚
测紫外线紫外线ML8511(SEN0175)ADC脚
测空气质量粉尘GP2Y10(SEN0144)ADC+LED脚
测水质TDSTDSSEN0244ADC脚
测电压电压检测DFR0051ADC脚
控制角度舵机SER0039PWM脚
开关灯LEDDFR0031数字/PWM脚
RGB彩灯WS2812灯带7珠任意数字脚
播放声音语音合成DFR0760I2C
显示数据OLEDSSD1306(DFR0550)I2C
拍照监控USB摄像头-USB-A
视觉AI二哈HUSKYLENS(SEN0307)I2C
让Arduino联网OBLOQTEL0113D2/D3
手机蓝牙控制蓝牙HC-05/06TX/RX

📄DF开源器材完整知识库.txt🔍 预览

基于 2026 诸暨国赛培训资料整理