扩展板与配件

本文引用的文件

产品概述

掌控系列扩展板以“即插即用、功能丰富”为核心,围绕掌控板提供电机驱动、音频播放与语音合成、红外发射与学习、I/O与I2C扩展等能力,帮助学习者快速完成机器人、物联网与创客项目。其中:

  • 掌控拓展板(Parrot):体积小巧、内置锂电池与电源管理,支持两路PWM电机驱动、音频输出、TTS、红外收发与12路IO及2路I2C扩展。

  • blue:bit模块生态:通过I2C/UART等接口接入超声波、颜色、数码管、点阵、MIDI、MP3、OLED等传感器与显示模块,进一步丰富扩展能力。

  • 配套套件:Python入门套装包含掌控板、Parrot拓展板、RGB光环板、直流电机、灯带、各类传感器与执行器,适合教学与DIY实践。

适用场景:课堂编程、机器人控制、智能家居原型、声音交互、红外遥控复刻、数据采集与可视化等。

章节来源

核心业务流程

以下流程覆盖Parrot拓展板的典型使用路径:从硬件安装到功能调用,贯穿电机驱动、音频/TTS、红外发射与学习。

sequenceDiagram
participant User as "用户"
participant Board as "掌控板"
participant Parrot as "Parrot拓展板"
participant I2C as "I2C总线"
participant Audio as "音频子系统"
participant IR as "红外模块"
User->>Board : 安装Parrot并供电
Board->>Parrot : 初始化I2C(地址0x10/0x16)
parrot.set_speed(MOTOR_1, speed) -> I2C : 写入速度命令
parrot.led_on(MOTOR_1, brightness) -> I2C : 写入亮度命令
Audio->>Board : 初始化播放器
Board->>Audio : 播放本地或网络音频
IR->>Parrot : learn() 进入学习模式
Parrot-->>IR : 返回学习状态/数据
IR->>Parrot : send(buff) 发送红外编码

图表来源

章节来源

功能模块清单

  • 电机驱动(Parrot)

    • 职责:两路PWM电机控制,支持正反转与调速;同一接口可用作LED调光。

    • 验收要点:set_speed范围-100~100;get_speed返回当前速度;led_on/led_off可调亮度和关闭。

    • 参考实现:parrot.py:20-56、parrot.py:59-96

  • 电池电量检测(Parrot)

    • 职责:读取拓展板电压值(mV)。

    • 验收要点:通过I2C读取寄存器并解析为整型电压。

    • 参考实现:parrot.py:99-108

  • 红外发射与学习(Parrot)

    • 职责:NEC编码生成、任意波形编码、红外信号学习与回放。

    • 验收要点:encode_nec/encode_raw生成buff;learn阻塞/非阻塞;send重复码;stop_send停止;get_learn_data获取学习结果。

    • 参考实现:parrot.py:112-186、parrot.py:189-243

  • 音频播放与TTS(Parrot)

    • 职责:本地/网络音频播放;文本转语音(需联网与配置)。

    • 验收要点:audio.player_init/play/pause/stop/volume;TTS需在线服务。

    • 参考教程:tutorials_parrot.rst:60-93

  • blue:bit模块族(I2C/UART外设)

    • 职责:温度(NTC/LM35)、四键/五向按键、温湿度SHT20、颜色传感器、光线、超声波、数码管(TM1650/HT16K33)、8x8点阵、LCD1602、MIDI、MP3、OLED串口屏、引脚扩展器等。

    • 验收要点:各模块按I2C/UART协议通信,提供统一API;注意供电与连线。

    • 参考实现:bluebit.py:47-123、bluebit.py:181-247、bluebit.py:277-322、bluebit.py:324-412、bluebit.py:422-570、bluebit.py:573-751、bluebit.py:754-808、bluebit.py:811-871、bluebit.py:874-1010、bluebit.py:1012-1102、bluebit.py:1119-1186

  • 套件配套与示例

章节来源

数据与状态

  • 电机速度与亮度

    • 数据结构:速度值-100~100(负值为反转),亮度0~100。

    • 状态流转:设置速度/亮度后,I2C写入拓展板寄存器生效;查询时从内部缓存返回最近一次设置值。

    • 参考实现:parrot.py:20-56、parrot.py:59-96

  • 电池电量

    • 数据结构:mV整数。

    • 状态流转:I2C读寄存器并解包为无符号整型。

    • 参考实现:parrot.py:99-108

  • 红外编码与学习

    • 数据结构:NEC编码buff(含载波频率、长度、循环位置、code表、data序列);学习结果buff。

    • 状态流转:encode_*生成buff → send发送;learn阻塞等待接收端按键 → get_learn_data取回buff → send回放。

    • 参考实现:parrot.py:112-186、parrot.py:189-243

  • blue:bit模块数据

    • 温度:摄氏度浮点数;按键:模拟值映射到方向键;颜色:RGB/HSV三元组;距离:cm;数码管:数字显示;点阵:帧缓冲;MIDI:音符与音量;MP3:播放控制与音量;OLED:字符与位图。

    • 参考实现:bluebit.py:47-123、bluebit.py:181-247、bluebit.py:277-322、bluebit.py:324-412、bluebit.py:422-570、bluebit.py:573-751、bluebit.py:754-808、bluebit.py:811-871、bluebit.py:874-1010、bluebit.py:1012-1102、bluebit.py:1119-1186

章节来源

  • parrot.py:20-243

  • bluebit.py:47-1186

关键约束与边界

  • 电源与负载

    • 内置锂电池驱动能力有限,建议大功率或长时间应用采用外接USB或外部供电。

    • 参考说明:parrot.rst:81-83

  • 引脚复用限制

    • P5、P11对应掌控板按键A/B,仅用于数字输入且电平会被翻转,避免冲突。

    • 参考说明:parrot.rst:81-83

  • 文件系统与音频大小

    • 本地MP3受MicroPython文件系统与RAM限制,过大文件难以下载播放,应压缩音频。

    • 参考说明:tutorials_parrot.rst:53-57

  • 网络依赖

  • 红外学习距离

  • 模块供电与连线

    • blue:bit模块通过I2C/UART连接,注意VCC/GND与信号线正确接线,避免短路或反接。

    • 参考说明:parrot_kit.rst:112-198

章节来源