Skip to content

传感器与执行器实战手册

每个传感器包含:外观照片 → 技术参数 → 详细接线 → Mind+步骤 → Python代码 → 常见坑点


通用接线规范

线色约定

红色/橙色  → VCC(电源正极,3.3V 或 5V)
黑色/棕色  → GND(电源负极)
黄色/绿色  → SIG(信号线)
蓝色       → SDA(I2C数据)
紫色/黄色   → SCL(I2C时钟)

安全规则

⚠ 先接线、后通电。拔线前先断电
⚠ 行空板M10的3Pin口是3.3V电平,5V传感器需用扩展板
⚠ 舵机/电机不要直接接行空板IO口!必须走扩展板
⚠ 不确定VCC电压时,先用3.3V
⚠ 3Pin防呆线有方向(凸起对准槽口),不要硬插
⚠ I2C总线上的设备地址不能重复
⚠ USB-Type-C口只能从一个地方供电

1. LED灯模块

DFRobot 型号:DFR0031

LED模块

技术参数

项目
工作电压3.3V - 5V
控制方式数字高/低电平
接口类型3Pin Gravity防呆口
信号逻辑HIGH=亮, LOW=灭

接线

LED模块          行空板M10 3Pin口
  红线(VCC)  ─── 红线(3.3V)
  黑线(GND)  ─── 黑线(GND)
  绿线(SIG)  ─── 黄线(P21)

Mind+ 步骤

  1. 扩展 → 官方库 → 行空板M10
  2. 拖出「设置引脚 P21 为 输出」
  3. 拖出「设置数字引脚 P21 输出 高电平」= 亮

Python代码

开关控制

python
from pinpong.board import Board, Pin
Board().begin()
led = Pin(Pin.P21, Pin.OUT)
led.write_digital(1)  # 开灯
led.write_digital(0)  # 关灯

呼吸灯(需接PWM引脚)

python
led = Pin(Pin.P21, Pin.PWM)
for i in range(0, 1024, 5):
    led.write_analog(i)
    time.sleep(0.01)

2. 按钮模块

DFRobot 型号:DFR0029

按钮模块

技术参数

项目
工作电压3.3V - 5V
输出类型数字信号
按下HIGH (1)
松开LOW (0)

接线

按钮模块          行空板M10
  红线(VCC) ─── 3.3V
  黑线(GND) ─── GND
  绿线(SIG) ─── P23

Python代码

查询式

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

中断式(响应快)

python
from pinpong.extension.unihiker import *
def btn_pressed(pin):
    print("触发!")
button_a.irq(trigger=Pin.IRQ_RISING, handler=btn_pressed)

3. DHT11 温湿度传感器

DFRobot 型号:DFR0067

DHT11

技术参数

项目DHT11DHT22
温度范围0~50°C-40~80°C
温度精度±2°C±0.5°C
湿度范围20~95%RH0~100%RH
湿度精度±5%RH±2%RH
采样周期≥1秒≥2秒

接线

DHT11模块           行空板M10
  VCC (红线)   ─── 3.3V
  GND (黑线)   ─── GND
  DATA (绿/黄) ─── P4(任意数字引脚)

Mind+ 步骤

  1. 扩展 → pinpong库 → 搜索「DHT」→ 加载
  2. 拖出「初始化DHT11 引脚 P4
  3. 拖出「读取温度(°C)」「读取湿度(%RH)」

Python代码

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()    # 湿度 %
print(f"温度: {temp}°C  湿度: {humi}%")

温控风扇(完整示例)

python
from pinpong.libs.dfrobot_servo import Servo
servo = Servo(Pin(Pin.P21))  # 模拟风扇

while True:
    temp = dht.temp_c()
    if temp >= 30:
        servo.angle(180)   # 高温→开风扇
    else:
        servo.angle(0)     # 正常→关
    time.sleep(2)

常见坑点

问题原因解决
显示0或85初始化失败检查接线,等待1秒再读
数值跳跃采样太快至少间隔2秒
始终同一数值上拉电阻缺失用4Pin模块(自带电阻)

📦Mind+示例项目:M10 DHT11温湿度编码.mp⬇ 下载


4. 超声波传感器 HC-SR04

DFRobot 型号:SEN0304(Gravity版)

超声波传感器

技术参数

项目
工作电压5V(3.3V不稳定)
测距范围2cm ~ 400cm
精度±3mm
测量角度≤15°
触发信号10μs TTL高电平

接线方案

接扩展板(推荐,5V供电稳定)

HC-SR04             扩展板
  VCC (红) ─── 5V
  GND (黑) ─── GND
  TRIG(绿) ─── P16
  ECHO(黄) ─── P15(建议串1KΩ电阻保护3.3V IO)

Mind+ 步骤

  1. 扩展 → pinpong库 → 搜索「超声波」→ 加载
  2. 拖出「初始化超声波 Trig=P16 Echo=P15
  3. 拖出「读取距离(cm)」

Python代码

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()
print(f"距离: {dist}cm")

自动门禁(超声波+舵机)

python
from pinpong.libs.dfrobot_servo import Servo
servo = Servo(Pin(Pin.P21))
TRIGGER = 30  # 触发距离cm

while True:
    dist = sonic.distance_cm()
    if dist < TRIGGER:
        servo.angle(180)   # 开门
        print("有人靠近!")
    else:
        servo.angle(0)     # 关门
    time.sleep(0.5)

常见坑点

问题原因解决
距离始终05V供电不足USB口供电不稳,换外部5V
跳变被测物太软对准硬表面
ECHO烧IO5V→3.3V电平串1KΩ电阻
多个超声干扰同时发射轮流使用
超声波接线图

📦Mind+示例:超声波测距测试.mp⬇ 下载📦仰卧起坐计数完整示例.mp⬇ 下载


5. 舵机 (9g Servo)

DFRobot 型号:SER0039

舵机

技术参数

项目
工作电压4.8V ~ 6V
工作电流100mA(空载) / 750mA(堵转)
角度范围0° ~ 180°
控制信号PWM 50Hz
扭矩1.2kg·cm

接线 ⚠ 必须用扩展板!

舵机杜邦线           扩展板
  棕(GND) ─── GND
  红(VCC) ─── 5V(扩展板供电!)
  橙(SIG) ─── P21(PWM引脚)

🚫 绝对不要直接插行空板3Pin口!
   电流不够,可能损坏行空板

支持PWM的引脚

P21、P22、P23(3Pin口,最方便) P0、P2、P3、P10、P16(金手指)

Mind+ 步骤

  1. 扩展 → pinpong库 → 搜索「舵机」→ 加载
  2. 拖出「舵机初始化 引脚 P21
  3. 拖出「舵机转动到角度 90

Python代码

python
from pinpong.board import Board, Pin
from pinpong.libs.dfrobot_servo import Servo
Board().begin()
servo = Servo(Pin(Pin.P21))

servo.angle(0)      # 0度(关)
servo.angle(90)     # 90度(中间)
servo.angle(180)    # 180度(开)

平滑转动(避免抖动):

python
def smooth_move(servo, target, step=2, delay=0.02):
    current = servo.angle() or 90
    r = range(current, target+1, step) if target > current else range(current, target-1, -step)
    for a in r:
        servo.angle(a)
        time.sleep(delay)

📦Mind+示例:舵机自动开门.mp⬇ 下载


6. 光线传感器

6A. 板载光线传感器(M10自带)

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

python
from pinpong.extension.unihiker import *
Board().begin()
val = light.read()  # 0~4095,越大越亮

6B. 外接模拟光线传感器

DFRobot 型号:DFR0026

光线传感器
项目
接口模拟电压输出
工作电压3.3V~5V
python
adc = Pin(Pin.P21, Pin.ANALOG)
light_val = adc.read_analog()

📦Mind+示例:自动控制灯.mp⬇ 下载📦光线值串口打印.mp⬇ 下载


7. 模拟声音传感器

DFRobot 型号:DFR0034

声音传感器
项目
类型模拟输出
工作电压3.3V~5V
python
adc = Pin(Pin.P21, Pin.ANALOG)
sound_val = adc.read_analog()

7B. 板载麦克风(M10自带)

python
from unihiker import Audio
audio = Audio()
level = audio.sound_level()     # 环境音量 0~4095
audio.record("msg.wav", 5)      # 录音5秒

📦Mind+示例:拍手开关灯.mp⬇ 下载


8. 蜂鸣器

8A. 板载蜂鸣器(M10背面)

python
from pinpong.extension.unihiker import *
Board().begin()
buzzer.play(buzzer.DADADADUM, buzzer.Once)
buzzer.pitch(440, 4)  # 440Hz, 4拍

预置音乐:DADADADUM, ENTERTAINER, PRELUDE, ODE, NYAN, RINGTONE, FUNK, BLUES, BIRTHDAY, WEDDING

8B. 外接有源蜂鸣器模块

DFRobot 型号:DFR0032

通电即响,只需高低电平控制。


9. 六轴加速度传感器(板载)

位置:M10背面,芯片 ICM20689/QMI8658C

加速度传感器示意
python
from pinpong.extension.unihiker import *
Board().begin()

ax = accelerometer.get_x()  # X轴加速度
ay = accelerometer.get_y()  # Y轴加速度  
az = accelerometer.get_z()  # Z轴加速度(静止≈1.0g)

# 倾倒检测
if ax > 0.7 or ax < -0.7 or ay > 0.7 or ay < -0.7:
    print("⚠ 设备倾倒!")

📦Mind+示例:倾倒报警床.mp⬇ 下载


10. OLED显示屏 128×64

DFRobot 型号:DFR0550

OLED显示屏
项目
驱动芯片SSD1306
分辨率128×64 像素
协议I2C(地址0x3C)
显示行数4行(每行16像素高)

接线

OLED             行空板 I2C口(4Pin白色)
  VCC(红) ─── 红线(3.3V)
  GND(黑) ─── 黑线(GND)
  SCL(黄) ─── 黄线(SCL)
  SDA(蓝) ─── 蓝线(SDA)

Python代码

python
from pinpong.board import Board
from pinpong.libs.dfrobot_ssd1306 import SSD1306_I2C
Board().begin()
oled = SSD1306_I2C(128, 64)
oled.begin()

oled.set_cursor(0, 0);  oled.print("温度: 25.5°C")
oled.set_cursor(0, 16); oled.print("湿度: 60%")
oled.set_cursor(0, 32); oled.print("光照: 800")
oled.set_cursor(0, 48); oled.print("状态: 正常")

11. 语音合成模块

DFRobot 型号:DFR0760

项目
芯片XFS5152CE
语言中文/英文 TTS
协议I2C
音量0~9可调

接线

语音合成模块       行空板 I2C口
  VCC(红) ─── 3.3V/5V
  GND(黑) ─── GND
  SCL(黄) ─── SCL
  SDA(蓝) ─── SDA

Python代码

python
from DFRobot_SpeechSynthesis_I2C import DFRobot_SpeechSynthesis_I2C
sstts = DFRobot_SpeechSynthesis_I2C()
sstts.begin(sstts.eV2)
sstts.setVolume(8)
sstts.speak("欢迎使用智能系统")
sstts.speak(f"当前温度为{25}度")

12. USB摄像头

插入M10 USB-A口即用。 📦Mind+示例:M10物体分类(采集/训练/识别).mp⬇ 下载


13. 直流电机/风扇模块

DFRobot 型号:DFR0332

通过扩展板 DFR1198 的 M1/M2 接口驱动。

python
motor_dir = Pin(Pin.P2, Pin.OUT)     # 方向
motor_pwm = Pin(Pin.P10, Pin.PWM)    # 速度
motor_dir.write_digital(1)           # 正转
motor_pwm.write_analog(800)          # 速度0~1023

📦Mind+示例:电机测试.mp⬇ 下载


行空板M10引脚功能总表

引脚数字IOADCPWMI2CUART备注
P0RXADC+PWM
P1
P2⚠与P8共用PWM
P3TX
P4
P10⚠与P9共用PWM
P16常用PWM
P19SCLI2C时钟
P20SDAI2C数据
P21推荐舵机脚
P22推荐舵机脚
P23推荐舵机脚
P24仅数字IO
P25板载L灯
P29内部内部板载光线传感器
M10引脚高清大图(本地)

传感器组合实战方案

方案传感器组合难度时耗
温控风扇DHT11 + 舵机★☆☆1h
自动灯光线传感器 + LED★☆☆0.5h
智能门禁超声波 + 舵机 + 蜂鸣器★★☆2h
环境监测站DHT11 + 光线 + 麦克风 + OLED★★☆3h
AI监控USB摄像头 + DHT11 + MQTT + 手机★★★6h
AI助手麦克风 + 语音合成 + SIoT桥接AI★★★8h

📄AI守护+ 行空板终稿.py🔍 预览📄arduino程序.txt🔍 预览📁培训项目文件夹GitHub


参考:pinpong库官方文档 + DFRobot产品维库 + 2026培训资料

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