Wokwi Arduino 仿真
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_649b4b58/workbuddy-hardwareasysim-wokwi。
技能介绍
要解决什么问题
在 Arduino 上做原型时,常见痛点是:接线图、固件、编译产物和 Wokwi 工程格式各写各的,改一次引脚就要同步改 diagram、代码和 wokwi.toml。接实物前若没把模拟和真实元件型号对齐,还会出现「代码在板上能跑、模拟里却不对」的误判。
本技能是 WorkBuddy 安装路径下的 Wokwi Arduino 适配器(与 DeepCode/Cursor 版流程一致),把「写代码 → 生成布局 → 编译 → 仿真 → 可选上传」串成一条可核对的工作流,而不是只帮你贴一段 .ino。
技能如何工作
- 布局与工程:先写语义化的
layout-intent.json(无坐标,契约见技能内references),用脚本生成diagram.json、优化走线并产出wokwi.toml。wokwi.toml必须使用[wokwi]段并指向build/.ino.hex,误用[env]/[board]会直接报错。 - 编译:
compile.sh负责arduino-cli与板型推断(Uno/Mega/Nano/ESP32 等);第三方库通过项目根目录libraries.txt在编译前安装。 - 仿真:有 VS Code + Wokwi 插件可走 Mode B(手动、零额外依赖);需要自动浏览器仿真时用 Mode A(优先 Playwright MCP,按
monaco-steps.md操作;无 MCP 时才考虑wokwi-automate.js)。仿真前会从diagram.json给出分组接线文字说明并请你确认效果。 - 实物:
arduino-cli board list后,上传前必须展示端口、板型、FQBN 并征得确认;支持compile.sh的上传与串口监视。
元件与接线查询顺序在 SKILL 里写得很细:从 intent-format、布局卡、generic-wiring,到 references/arduino/index.json(中文名匹配)再到 detail/ 与 experience.json,避免凭感觉接线。
边界与注意点
- WorkBuddy 市场同步可能只拉 SKILL.md,激活时会检查并恢复
scripts/、references/;若仍是旧的core/结构,需重装或迁移。 - 未经你明确同意,不会安装 Playwright 或任何 npm 包;脚本失败时降级为文档里的原生 Wokwi 操作,而不是反复重试脚本。
- 模拟器能力有限:例如部分 OLED 仅 I2C 在 Wokwi 里表现正常,SPI 版在模拟中可能不显示但实物按新接线仍可对——接实物前会做模拟元件 vs 实物型号核对清单,不一致时可选改工程或换元件,并提前说明模拟异常不一定是代码 bug。
使用场景
- 在 WorkBuddy 对话里写完 `.ino` 后,用 `layout-intent.json` 生成 `diagram.json` 与 `wokwi.toml`,先在 Wokwi 里验证接线再改代码。
- ESP32/Uno 工程需要 `arduino-cli` 编译时,通过 `compile.sh` 推断 FQBN,并在用户触发 `@simulate` 时用 Playwright MCP 打开浏览器仿真。
- 外接 DHT、LED、OLED 等元件前,先根据 `diagram.json` 出示分组接线文字(含确切引脚),确认仿真效果后再考虑 `--upload`。
- SkillHub 只同步了 SKILL.md、本地缺 `scripts/` 时,在技能激活自检中恢复仓库文件,再继续走布局生成与 `optimize-wiring` 检测。
适合人员
- 高校或培训机构 Arduino 实验课讲师,需要把「语义意图→接线图→仿真确认」固定成每节课同一套流程。
- 在 WorkBuddy 里用 `@wokwi` / `@simulate` 做硬件协作的开发者,希望无 VS Code 插件时仍走 Playwright MCP 自动仿真。
- 只有 CH340 克隆 Uno、上传前担心板型识别不准的创客,需要先看端口、FQBN 并手动确认再烧录。
- 准备从 Wokwi 转面包板实物的初学者,需要在 OLED I2C/SPI 等型号不一致时核对清单并理解模拟器显示限制。