Arduino 101 打造图案匹配 LED 裙装:基于 Intel Curie 的可穿戴时尚
所需组件与物料
| 组件 | 数量 | 备注 |
|---|---|---|
| NeoPixel 灯带 | 1 | 可替换为单颗 RGB LED |
| Arduino 101 | 1 | |
| SparkFun 12mm 按钮开关 | 1 | |
| 10kΩ 电阻 | 1 | |
| 跳线(若干) | 1 | 需长导线将 LED 从肩部引至手部 |
| 9V 电池 | 1 | |
| 9V 转 DC 插头转接头 | 1 | |
| Adafruit Flora RGB NeoPixel LED(4 颗装) | 1 | 可替代 NeoPixel 灯带 |
| 可缝制导电线 | 1 | 可替代部分导线 |
所需工具与设备
- 热熔胶枪
- 缝纫机
- 电烙铁
所需应用与在线服务
- Arduino IDE
项目简介

我是一名工程师兼艺术家,热衷于将科学与艺术融合的项目。我曾制作多款嵌入微控制器的裙装,利用电子元件功能强化设计主题。本项目利用 Arduino 101 上 Intel Curie 芯片的模式匹配引擎(PME)与加速度计。Curie 专为 PME 应用设计,具备神经网络能力,但鲜有 PME 示例,希望本项目能激发更多人挖掘 Curie 的潜力。
裙装面料采用我的图画小说页面:一位女科学家与机器人仰望望远镜。当佩戴者在空中绘制图案时,排列成星座形状的 LED 将在面料“夜空”中亮起。
制作步骤
注:项目发布后我优化了电路部分。改进后的 LED 固定方法与耐久性方案见步骤 3 后的“改进步骤”。
更新:全天演示活动测得电池续航约 3 小时。9V 电池电压降至 9V 以下会导致模式匹配效率下降,更换电池后可继续使用。
步骤 1:排列 LED

使用 Adafruit NeoPixel 灯带,剪切成段并排列成星座形状(猎户座、北斗七天鹅座、仙后座)。将 LED 粘贴或缝制在基础面料上。
步骤 2:增加衬里面料

在顶部覆盖一层衬里面料并勾勒星座轮廓(可选)。我实际在基础面料背面又缝了一层厚面料,共三层夹住 LED,增强结构强度。
步骤 3:焊接 LED

焊接 LED 导线。若使用可缝制 LED,也可用导电线连接。此过程耗时且需耐心。我将四个星座分为四路,分别连接到 Arduino 101 的不同引脚。
改进步骤:解决柔软面料导致焊点断裂问题
原面料过软,易弯曲导致焊点断裂。以下是改进方法:
定位 LED

选用较厚的毡布,配合热熔胶固定 LED 条于星座对应位置。
规划 LED 与走线

在毡布上点胶固定 LED 条(预留空间套热缩管)。剪裁合适长度的多股导线并临时用胶带固定位置,焊接后再热缩管绝缘,最后全胶固定。
制作四个独立模块

四个星座分别制作成独立模块,焊接并热缩管保护后牢固粘贴在毡布上。
测试电路
后续步骤前务必测试!可对每路运行 NeoPixel Strandtest 例程。
虽然代码逻辑不复杂(标记为“简单”),但在布料上稳固走线需要大量手工劳动。
确保 Arduino IDE 为最新版并包含 Curie PME 库(推荐使用 Arduino Web Editor)。库下载见 此处。
制作裙装
同步进行裙装缝制。电路测试通过后,将带 LED 的基础面料缝在裙子内侧,LED 光线透过图案面料照出。


Arduino 101 与电池置于 3D 打印外壳中,藏在袖口;长导线穿过袖子连接 LED。
烧录代码后,先训练神经元学习图案。请观看视频 0:30 处演示。
更多照片与科技时尚/面料绘画设计请访问我的个人网站。
代码
PME_4LED_new.ino(主程序,含训练数据存储)
/* 使用 CuriePME 对 CurieIMU 加速度计数据流进行分类
* 训练阶段:在空中书写字母,IMU 数据作为 PME 训练样本
* 推理阶段:继续书写,PME 尝试识别字母
* 需在数字引脚 4 接按钮
* 建议书写幅度 1-2 英尺以上
* Copyright (c) 2016 Intel Corporation. All rights reserved.
*/
#include "CurieIMU.h"
#include "CuriePME.h"
#include
#include
#include
#define PINM 6
#define PINC 3
#define PINS 9
#define PINO 5
Adafruit_NeoPixel stripM = Adafruit_NeoPixel(10, PINM, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel stripS = Adafruit_NeoPixel(10, PINS, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel stripC = Adafruit_NeoPixel(10, PINC, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel stripO = Adafruit_NeoPixel(10, PINO, NEO_GRB + NEO_KHZ800);
// ... 完整代码请参考 GitHub 仓库
PME_LED.ino(通用模板代码)
/* 基于 Draw in the Air 示例修改,结合 Adafruit NeoPixel 示例
* 可根据实际 LED 分布修改引脚分配
*/
#include "CurieIMU.h"
#include "CuriePME.h"
#include
#define PIN 6
Adafruit_NeoPixel strip = Adafruit_NeoPixel(54, PIN, NEO_GRB + NEO_KHZ800);
// ... 完整代码请参考 GitHub 仓库
原理图
仅需将 LED 连接到 Arduino 101 对应引脚,按钮接数字引脚 4(参考 Button 教程)。电路原理类似 Adafruit NeoPixel 接线指南:Basic Connections。9V 电池直接插入 DC 插座供电。

制造工艺
- 服装纸样量产演变史:从手工定制到工业化标准
- DHT11 温湿度传感器项目:LED 指示与压电蜂鸣器报警
- DIY 蓝牙控制 Arduino 间谍小车
- FlickMote:基于手势的智能家居红外遥控器
- DIY Arduino TV-B-Gone:万能关机遥控器
- 自制大尺寸LED主时钟带闹钟功能 — 12米外清晰可见
- 将 MIDI 键盘变身智能钢琴导师:Arduino + LED 灯带 + MuseScore
- 通过树莓派用 Alexa 控制 LED - 简单分步指南
- Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
- Arduino 项目优化供电方案:从按键开关到电池监测与数据记录
- Arduino 101 BLE + Blynk:DIY 蓝牙遥控履带坦克车
- 告别跳线:BreadShield让Arduino直连面包板