永不凋零的机械郁金香 - 触控发光互动花朵
元件与物料
| 元件 | 数量 | 备注 |
|---|---|---|
| Arduino Nano R3 | 1 | 主控 |
| SG90 微型舵机 | 1 | 驱动花瓣开合 |
| TTP223 触摸传感器模块 | 1 | 电容式触控触发 |
| 1mm 黄铜棒 | 1 | 花瓣骨架与推杆 |
| 2mm 黄铜管 (内径 1.2mm) | 1 | 铰链与推杆导管 |
| 0.3mm 漆包铜线 | 1 卷 | LED 供电与信号线 |
| WS2812B 5050 NeoPixel RGB LED | 7 | 花蕊彩虹灯效 |
| 白色 1206 贴片 LED | 30 | 每瓣 5 颗,共 6 瓣 |
项目简介
一份永不凋零的礼物,适合情人节或纪念日。轻触茎部叶片,六片花瓣缓缓绽放并点亮任意颜色;合上时花瓣脉络发出温馨环境光。全黄铜骨架、木质底座藏匿电路,兼具机械美感与电子交互。

工作原理
- 6 片花瓣,每瓣 5 颗白色 1206 LED,由 Arduino 6 个输出引脚分别驱动 (共阴,花瓣骨架为正极)。
- 花蕊内藏 7 颗 WS2812B NeoPixel,单根数据线串联控制。
- 舵机通过推杆 (1mm 黄铜棒穿过黄铜管) 推动花瓣开合机构。
- 茎侧小叶连接 TTP223 触摸 IC,作为电容触控板,触发开合动作。
- 木质底座内置舵机、Arduino Nano、触摸模块。


制作前须知
- 黄铜焊接技巧 (需耐心与练习)
- Arduino 基础编程、舵机控制、LED/NeoPixel 驱动
- 本文不提供精确尺寸,鼓励每朵花独一无二。
制作步骤概览
- 花瓣制作 (约 4 小时):用石膏模具或 3D 打印模型定型,弯曲黄铜棒成型,焊接铰链套管、LED 与脉络导线。6 片花瓣必须完全一致,否则合拢时形状不规则或卡滞。
- 花冠组装 (约 1 小时):六边形底座 (内外两圈错位,使内外瓣错落重叠),按模板焊接 6 片花瓣铰链。
- 茎杆与推杆 (约 1 小时):黄铜管做茎,推杆头部为微型六边形连杆机构 (需极高精度)。茎管必须与花冠六边形底座中心垂直,否则推杆卡滞。
- 花瓣连杆机构 (约 6 小时,最考验耐心):参考蒸汽机连杆原理,制作连接推杆头与花瓣销钉的连杆。需反复微调连杆长度、销钉位置,使 6 瓣同步顺畅开合。外瓣开合角度略大于内瓣。
- 彩虹花蕊 (约 1 小时):双层小六边形框架夹持 6 颗 NeoPixel,中心再加 1 颗,45° 向外发光,数据线串联,仅需 VCC、DATA、GND 三线下引。
- 走线与整理 (约 2 小时):0.3mm 漆包线沿茎管螺旋缠绕,共 9 根 (6 瓣阳极 + 2 NeoPixel + 1 公共地)。注意绝缘与机械保护。
- 花盆底座 (约 2 小时):木块车削成圆筒,内腔容纳舵机、Arduino、触摸模块,侧面预留 USB 口、触控叶片安装孔。
- 触控叶片 (约 1 小时):同花瓣工艺制作小叶片,引线接 TTP223 模块触摸焊盘 (需刮去阻焊层)。
- 总装与接线 (约 2 小时):花茎插入底座,推杆末端加铰链连接舵机臂,固定舵机,接线按下表:
| 信号 | Arduino 引脚 |
|---|---|
| 舵机信号 | D9 (需 Adafruit_TiCoServo 库) |
| TTP223 数据 | D2 (外部中断) |
| NeoPixel 数据 | A0 |
| 6 片花瓣 LED | D3, D4, D5, D6, D10, D11 (各串 200Ω 限流电阻) |
| 花体公共地 | GND |
| NeoPixel VCC | 5V |
| TTP223 VCC/GND | 5V / GND |
| 舵机 VCC/GND | 5V / GND |
代码逻辑 (flower.ino)
- 状态机:睡眠 → 绽放中 → 盛放 → 凋谢中 → 凋零 → 入睡 → 循环。
- 触摸中断切换状态:睡眠态触摸→绽放;盛放态触摸→凋谢。
- NeoPixel 绽放时随机呈现白/红/蓝/粉/橙渐变;凋谢时淡出。
- 花瓣 LED 采用 SoftPWM 模拟呼吸渐变。
- 舵机位置通过 `SERVO_OPEN` / `SERVO_CLOSED` 宏定义,需实测标定。
// 关键宏定义 (需根据实测修改)
#define SERVO_OPEN 1650
#define SERVO_CLOSED 775
#define SERVO_SAFE_MIDDLE 1000
// 状态常量
#define MODE_SLEEPING 0
#define MODE_BLOOM 3
#define MODE_BLOOMING 4
#define MODE_BLOOMED 5
#define MODE_FADE 6
#define MODE_FADING 7
#define MODE_FADED 8
#define MODE_FALLINGASLEEP 9
#define MODE_RAINBOW 90
完整代码见原文 `flower.ino`,包含 `Adafruit_NeoPixel`、`Adafruit_TiCoServo`、`SoftPWM` 三个库的协同使用。
完成与分享
调试通过后,你将拥有一朵机械与电子完美融合的永恒花朵。欢迎分享你的作品!

制造工艺