找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖
Claude、GPT 海外模型 API 接入Claude skills 从入门到精通 吴恩达亲授 AI Agent 核心技能2026 瞪哥公务员考试全攻略 行测申论一站式系统备考
Agent 文心智能蒸馏模型实战 90G 课程智泊 AI 大模型训练营 基于 LangChain 的 RAG 与提示工程实战构建企业级 AI 大脑:大模型微调与 RAG / Agent 全栈实战

6131

积分

0

好友

781

主题
发表于 3 天前 | 查看: 0| 回复: 0

LED流水灯、RGB灯环见得多了,但把90颗LED塞进一块直径仅24mm的PCB,做成一副能戴在耳朵上的电子耳环,还真不多见。这个国外开源项目叫 HALO-90。

HALO-90 LED耳环佩戴效果

整个耳环本身就是一块圆形PCB,正面排满了红色LED,背面则是单片机、麦克风和纽扣电池。不仅能显示各种灯光效果,还能跟着周围的音乐节奏闪烁。

HALO-90 LED耳环PCB组件与外壳

项目的硬件、固件、PCB和外壳设计资料都已经开源,喜欢折腾的朋友完全可以自己复刻一套。

90颗LED,10个IO口就能搞定

HALO-90的正面排列了90颗0402封装的红色LED,每颗间隔4°,刚好组成一个完整的圆环。

HALO-90 Charlieplexing引脚布局图

这里采用的是Charlieplexing(查理复用)驱动方式,利用GPIO高电平、低电平和高阻态之间的切换,让10根IO线实现90颗LED的独立控制。

HALO-90 LED矩阵电路原理图

当然,这些LED并不是同时持续点亮的,而是通过高速扫描,利用人眼的视觉暂留形成完整的发光效果。

下面这个函数可以根据LED编号获取列和行:

void setLed(uint8_t led);
void ledHigh(uint8_t led);
void ledLow(uint8_t led);
uint8_t col = led / 9;
uint8_t topElements = 9 - col;
uint8_t row = 9 - (led % 9);
if (topElements <= (9 - row)) {
  row--;
}

要关闭LED,需要将列和行都设置为高阻抗;要打开LED,则需要将列设置为高阻抗,行设置为低阻抗。

相比给每颗LED单独分配一个GPIO,这种方案省下了大量引脚,也不需要额外增加LED驱动芯片。灯珠成本比WS2812便宜不少,缺点也很直接——只能单色。不过,驱动程序和PCB布线可就没那么简单了。

灯珠选用普通0402红色灯珠。

0402红色贴片LED尺寸对照

主控与传感

主控选用意法半导体的 STM8L151G4,一颗主频16MHz的8位低功耗单片机。作者后来还把它移植到了国产MCU上。

STM8L151G4主控芯片特写

为了让灯光跟随音乐变化,板上集成了一颗MEMS麦克风,通过ADC采集声音信号,再由程序控制LED显示。麦克风型号是 Knowles SPW2430HR5H-B,可以配合 Adafruit 的扩展板快速测试。

Knowles SPW2430HR5H-B MEMS麦克风

按钮采用超薄微型触觉开关 KXT311LHS,触发力很低,只有100g,用指甲边缘就能轻松按下。

KXT311LHS微型触觉开关与尺寸

惯性测量单元同样来自ST,是一颗6自由度IMU,集成了三轴加速度计和三轴陀螺仪。

ST 6轴惯性测量单元IMU芯片

板子采用4层PCB设计,厚度只有1mm,背面安装一颗CR2032纽扣电池。装上电池后,整个耳环重量约为5.2g。

HALO-90耳环整机重量5.2g

三种灯光模式

目前固件提供了三种灯光模式:

  • 音乐律动模式:根据麦克风采集到的声音幅度变化,让LED跟着音乐节奏起舞。
  • HALO光环模式:通过高速扫描,形成完整连续发光的圆环效果。
  • Sparkle闪烁模式:随机点亮少量LED,看起来像星星一样闪烁。

几种模式可以通过板上的微型按键循环切换,长按500ms还能关闭LED,让单片机进入深度休眠。

一颗纽扣电池,续航能撑多久?

90颗LED挤在这么小的板子上,功耗自然绕不开。

根据作者公布的测试数据,音乐律动模式的平均电流约为11.71mA,HALO光环模式约为10.88mA,而Sparkle闪烁模式只有2.01mA。

HALO光环模式电流波形测试

HALO光环模式平均电流测试

Sparkle闪烁模式电流波形测试

按照220mAh的电池容量估算,Sparkle模式的理论续航约为109.5小时,也就是4天多。

不过这只是平均电流层面的推算。CR2032的实际可用容量与放电电流、内阻等因素都有关系,真实续航还得看具体使用强度。

硬件固件全部开源,复刻门槛并不高

资料仓库:https://boardrepo.com/openkolibri/halo-90

作者把原理图、PCB、BOM、固件源码以及3D打印外壳等资料都整理好了,连用于烧录和测试的弹簧针编程夹具也做了说明。

HALO-90耳环实际佩戴效果

HALO-90 PCB电路板特写

硅胶模具与外壳制作工具

HALO-90模块化外壳组件展示

ST-LINK/V2调试器与自定义外壳

HALO-90彩色外壳批量组装件

这个项目的硬件结构不算复杂,但在这么小的空间里完成90颗LED的布线、复用驱动和电池供电,参考价值相当高。

尤其是Charlieplexing这种驱动思路,平时做一些小型LED显示产品,或者GPIO资源比较紧张的项目,完全可以借鉴。

HALO-90耳环红色LED灯光效果

当然,真打算自己动手复刻的话,90颗0402 LED的焊接恐怕是最费眼睛的环节,建议直接安排嘉立创SMT贴片。

最后说一句:耳环钩必须得是纯金的,不然会被女朋友打死!

纯金耳钩尺寸参照




上一篇:大摩与Jefferies齐看服务器CPU链:CCL扩产与ABF基板受益图谱
下一篇:FD-SOI 2030年占代工市场38.6%,物理AI理想技术
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-9-25 04:56 , Processed in 2.148980 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表