Evan 摸头灯
jrenc2002 · · 智能家居
Evan 摸头灯
拍拍 Evan 的头,两颊亮起开心的粉光并“啾啾”叫一声;2 秒内连拍三下进入派对彩虹;房间暗下来 2 秒后自动变成不吵人的暖黄小夜灯。
整个项目由 AI agent 用 iterx CLI 从需求一路做到嘉立创打板包:选型、连接、固件、仿真断言、成板布线,全部可复现。
它能做什么
动作 Evan 的反应 串口事件 --------- 平时 两颊青蓝色 4 秒呼吸 mode:idle 拍一下头 粉光闪 1.5 秒 + 啾啾两声 pat:1 mode:happy chirp 2 秒内连拍 3 下 彩虹旋转 4 秒 + 上行三音 pat:3 mode:party tune:party 关灯并保持 2 秒 暖黄夜灯,亮度 1/8,拍头只亮不响 mode:night chirp:muted 按住头 3 秒 切换静音 mute:on / mute:off
硬件
- 主控:Arduino Nano(ATmega328P),装在 Evan 底座的 72×52 mm 双面载板上
- 头顶:三针高电平轻触按键板(藏在软帽下,拍头即按下)
- 两颊:WS2812B 2 位灯板(FastLED 驱动,亮度上限 96/255,总电流 < 100 mA)
- 蜂鸣器:低电平有效无源蜂鸣器驱动模块(tone() 发声,空闲保持高电平)
- 环境光:HW-486 光敏模拟模块(A0)
- 载板 J1–J4:2.54mm 1×3 线束排针(1=5V、2=信号、3=GND),头部模块经线束连接
排针 模块 Nano --------- J1 头顶按键 D2 J2 两颊灯 D6 J3 蜂鸣器 D9 J4 光敏 A0
外壳(1.1.0 新增)
Q 版大头摆件,96×153×58 mm,30 个零件,design/structure/ 下按零件分文件:
- 头顶软质蓝色“呆毛”就是按压帽,帽下柱塞直压 T1 按键板;
- LED1 的两颗 WS2812B 经乳白导光板照亮两颊粉色光窗,额心小孔给光敏电阻采光;
- 蜂鸣器贴后脑,后脑壳开正对的双圈出声孔;
- 72×52 载板竖立在底座里,四根支柱托住,Nano USB 从底座左侧开口插拔,头部模块经中空颈管走线到 J1–J4。
IterxAI 桌面端装配:0 干涉,独立四视图审图通过。待补:各模块无实物 3D 模型(按尺寸占位),USB 开口尺寸需按实物核对。
验证到哪一层
- iterx check:本地与桌面端项目一致性全部通过(含引脚绑定 design/constraints.json)
- iterx build:Nano 编译通过,Flash 30%、RAM 27%
- iterx sim run --scenario sim/headpat.yaml:17/17 断言通过(按键输入、A0 模拟电压、D6 灯带波形、D9 蜂鸣方波逐条验证)
- 桌面端交互仿真验收通过;成板 DRC/ERC 0 错误,Gerber 13 个文件 + 嘉立创上传包 board/jlc/iterxai-jlc-ready.zip
- 尚未上真机:光敏方向需按 docs/02-build-guide.md 第 5 步实测校准
自己做一个
搭建与接线见 docs/02-build-guide.md,需求与取舍见 docs/00-requirement.md。
设计取舍
- 原计划用 TTP223 电容触摸,但桌面端还没有它的交互仿真模型,成板前验收无法通过;换成行为相同(按下输出高)且可仿真的按键板。
- 元件库里 Uno 没有可制造封装,唯一有封装的核心板是 Nano,所以底座载板用 Nano;头部模块分布在头和脸颊,本就要走线束,载板只放 Nano 与排针。
- 灯带用 FastLED:IterxAI 受管工具链目前只信任 FastLED,Adafruit NeoPixel 能在本地编译但桌面端成板会拒绝。
#evan #arduino #nano #3d外壳