我爱方案网
42人浏览/3人投稿
8小时前
待托管赏金
# 智序闪键记忆仪 — 按钮控制板 外包开发需求
> **版本**:V1.0 | **日期**:2026-07-08
> **用途**:给外包工程师,需求只针对"按钮控制板"这块电路板的设计与固件开发
> **整台设备**:32寸触屏一体机+Windows电脑+4个按钮+本控制板 — 由工厂组装生产
> **游戏软件**:由游戏公司单独开发,控制板只需提供USB通信接口给游戏软件调用
---
## 一、你要做什么
设计一块 **USB按钮控制板**(电路+固件),功能如下:
```
游戏软件(Windows)
↕ USB串口通信
┌─────────────────┐
│ 按钮控制板 │
│ (MCU + 驱动) │
├─────────────────┤
│ 4个按钮输入 │ ← 用户按下按钮
│ 4个LED灯环输出 │ → 按钮发光
└─────────────────┘
```
游戏软件通过USB告诉控制板"哪个按钮亮什么颜色",控制板检测到按钮被按下后告诉游戏软件"哪个按钮被按了"。
---
## 二、硬件接口要求
### 2.1 按钮接口
| 项目 | 要求 |
|------|------|
| 按钮数量 | 4个 |
| 按钮类型 | 60mm街机风格发光按键(Arcade Button with LED Ring) |
| 微动开关 | 标准30mm微动开关,2线:公共端+信号端 |
| LED灯环 | 每按键1个RGB LED灯环(WS2812B或类似),4环可串联在同一数据线上 |
### 2.2 与电脑的连接
| 项目 | 要求 |
|------|------|
| 连接方式 | USB(虚拟串口,即插即用) |
| 通信速率 | 115200 baud |
| 供电 | USB 5V取电(≤500mA) |
| 兼容系统 | Windows 10/11(免驱或自动识别) |
### 2.3 控制板核心
| 项目 | 建议 |
|------|------|
| MCU | Arduino Pro Micro(ATmega32U4)或等效,支持USB HID/串口 |
| 按钮输入 | 4路数字输入,内部上拉,100nF电容硬件去抖 |
| LED输出 | 1路WS2812B数据线,4个灯环串联 |
| 尺寸 | 越小越好,能固定在按键面板内侧即可(建议≤60×40mm) |
---
## 三、通信协议(USB串口)
这是控制板和游戏软件之间的"语言"。
### 3.1 电脑 → 控制板(控制LED亮灭)
游戏软件发送指令控制每个按键的LED灯环颜色:
| 指令 | 效果 | 示例 |
|------|------|------|
| `R:R,G,B` | 第1个按钮(红)亮指定颜色 | `R:255,0,0` → 红灯亮红色 |
| `Y:R,G,B` | 第2个按钮(黄)亮指定颜色 | `Y:0,255,0` → 黄灯亮绿色 |
| `B:R,G,B` | 第3个按钮(蓝)亮指定颜色 | `B:0,0,255` → 蓝灯亮蓝色 |
| `G:R,G,B` | 第4个按钮(绿)亮指定颜色 | `G:255,255,0` → 绿灯亮黄色 |
| `ALL:R,G,B` | 全部亮同色 | `ALL:255,0,0` → 全部红色 |
| `OFF` | 全部熄灭 | `OFF` |
每条指令以换行符 `\n` 结尾。
### 3.2 控制板 → 电脑(上报按键事件)
用户按下/松开按钮时,控制板上报:
| 消息 | 含义 |
|------|------|
| `r` | 红色按钮被按下 |
| `y` | 黄色按钮被按下 |
| `b` | 蓝色按钮被按下 |
| `g` | 绿色按钮被按下 |
| `r-` | 红色按钮松开(可选,可省) |
| `y-` | 黄色按钮松开(可选,可省) |
每条消息以换行符 `\n` 结尾。
### 3.3 去抖处理
- 硬件:每个微动开关并联100nF电容
- 软件:首次检测到边沿后延迟20ms再读取最终状态
---
## 四、固件要求
1. 基于Arduino IDE或PlatformIO开发,代码有中文/英文注释
2. LED控制使用FastLED库或等效
3. 支持上述完整的USB串口通信协议
4. 按键检测带硬件+软件双重去抖
5. 自带Watchdog(死机自动复位)
6. 上电后自动初始化(所有LED亮一次白灯自检→熄灭→等待指令)
---
## 五、交付物
| 序号 | 交付物 | 说明 |
|:----:|-------|------|
| 1 | **原理图 + PCB文件** | 控制板的电路设计文件(KiCad/Altium/立创EDA均可) |
| 2 | **BOM清单** | 板上所有元器件的型号、数量、参考价格、购买链接 |
| 3 | **固件源码** | Arduino/PlatformIO项目,含完整代码和注释 |
| 4 | **固件烧录说明** | 如何烧录固件到控制板(1页文档) |
| 5 | **通信协议文档** | 上述协议(§3)写成清晰文档,给游戏公司对接用 |
| 6 | **样品1-2块** | 焊接调试好的成品控制板,接上按钮即可测试 |
---
## 六、验收标准
| # | 测试项 | 方法 | 通过标准 |
|:-:|-------|------|---------|
| 1 | 按钮检测 | 分别按4个按钮 | 电脑串口收到对应按键消息 |
| 2 | LED控制 | 发指令设置各LED颜色 | 4个按钮独立亮指定颜色 |
| 3 | 全彩显示 | 发RGB值 | 颜色显示准确 |
| 4 | 去抖效果 | 快速连续按键 | 无重复触发、无漏触发 |
| 5 | 即插即用 | USB接入Windows | 自动识别为串口设备 |
| 6 | 长时间稳定 | 连续运行8小时 | 不死机、不丢数据 |
---
*本需求只针对按钮控制板的电路设计+固件开发,不涉及整机结构、游戏软件。*
*整台设备由工厂按你的控制板方案完成组装生产。*
项目交付 2~3周
地区 江浙沪