扩展板与配件
本文引用的文件
parrot.pybluebit.py
产品概述
掌控系列扩展板以“即插即用、功能丰富”为核心,围绕掌控板提供电机驱动、音频播放与语音合成、红外发射与学习、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.py:20-41parrot.py:59-77parrot.py:195-238
章节来源
功能模块清单
电机驱动(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需在线服务。
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
套件配套与示例
职责:提供完整教具与演示代码,便于课堂与自学。
验收要点:能驱动TT马达、舵机、灯带、传感器,并在OLED上显示数据。
参考教程:parrot_kit.rst:11-32、parrot_kit.rst:44-103、parrot_kit.rst:112-198
章节来源
parrot.py:20-243bluebit.py:47-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-243bluebit.py:47-1186
关键约束与边界
电源与负载
内置锂电池驱动能力有限,建议大功率或长时间应用采用外接USB或外部供电。
参考说明:parrot.rst:81-83
引脚复用限制
P5、P11对应掌控板按键A/B,仅用于数字输入且电平会被翻转,避免冲突。
参考说明:parrot.rst:81-83
文件系统与音频大小
本地MP3受MicroPython文件系统与RAM限制,过大文件难以下载播放,应压缩音频。
网络依赖
网络音频与TTS需联网且URL必须完整可解析。
红外学习距离
学习时发射与接收管需正对且距离约1cm,以保证信号强度与成功率。
模块供电与连线
blue:bit模块通过I2C/UART连接,注意VCC/GND与信号线正确接线,避免短路或反接。
章节来源