×

Arduino Nano万圣节服装

消耗积分:0 | 格式:zip | 大小:0.29 MB | 2022-12-02

王敏

分享资料个

描述

介绍:

这个项目的目的是让万圣节服装“适合我的风格”。我想要一些能代表我极客倾向的东西。最终产品相对于普通服装来说很小但技术性很强。

设计:

基本前提是 Arduino Nano 通过 I2C 控制 2 个 16 位 IO 扩展器,将 PWM 32 LED(以圆形排列)转换为所需的任何可配置模式。另外 6 个 LED 直接由 Nano 本身的 6 个 PWM 输出驱动。

LED 阵列位于我选择穿的任何衬衫的织物后面,Nano 用来连接到托管 LED 的电路板的接头通过织物桥接,既可以将系统固定到位,也可以自豪地将 Arduino 展示给世界

系统的电源通过一个 5V 的迷你 USB 连接器输入,因此任何便携式 USB 充电器都可以运行系统。它在织物下方用电缆连接以隐藏电缆。这不是很舒服,但它完成了工作!

执行:

所有这些功能都已实现,LED 位置在电子表格中计算(电子表格很棒)。PCB 布置在直径为 3 英寸的圆形中,以 Nano 接头为中心:

pYYBAGOIriuAJ0cxAAnEX1B_QJg518.jpg

PCB设计

我的电路板是在海外制造的。2 面没有特殊的制造要求和充足的交货时间,即使使用黑色阻焊层也非常实惠:D

pYYBAGOIrj2ACmpJAB-pb-AFI8w489.jpg

实际PCB

我手工焊接了这些部件(我有一个显微镜,所以即使是 0402 电阻器和 SMD I/O 扩展器也不错)。我确实发现我需要一个额外的 PU 电阻用于 I2C 接口的 SCL/SDA 线(工作频率为 400 kHz),所以我手动将它们拼接起来。最后,我用 Arduino 本身上的按钮(2x3 接头,引脚 1 到引脚 6)完成了电气工作,以便能够在模式中循环

我用几块泡沫在机械系统层面完成了它,以抵消我自己的 PCB 以避免短路任何东西

编程:

有趣的部分!鉴于 Nano 上的处理器速度和我选择的接口 (I2C),我需要在如何优化 LED 的更新速率以实现真正不易察觉的 PWM 调光方面发挥创意。第一个合乎逻辑的步骤是将 I2C 总线加速到 400 kHz。这是一个简单的互联网搜索和注册写入,但还不够。

我最初尝试计算每次写入 LED 之间的模式和调光值对于性能不佳的处理器来说过于密集,因此,通过一些外部建议,我选择将模式缓冲在一个数组中。具有 32 个 8 位值状态的 32 个 LED 总共有 1kB 的 RAM,这是可用空间的 50%,所以只要我不添加一堆其他东西就可以了。

然后我创建了一个软件锯齿波比较器来处理 PWM 逻辑。由于 < vs > 操作很快,它很容易被处理器处理。然后我添加了一个简单的计时器来处理模式的进展,瞧,我有一个足够简单的算法让处理器运行。

我实现了各种图案功能,从简单的衰减漩涡和随机星爆图案到在极性 LED 图案上的线性“滑动”。通过按下按钮(SW 去抖动)更改模式,然后重置 32x32 阵列中的所有值,然后恢复 PWM 和模式进展逻辑。

进一步的工作:

我采购了足够的零件来制作其中的 3 个,最终决定使用另一组来制作 RGB 变体。我编写了一些“迪斯科主题”图案,并将其放入雕刻的南瓜中,以获得一点南瓜香料的乐趣

需要更新设计以反映所需的上拉电阻,但我没有足够的兴趣来实现它。理想情况下,SPI 控制的 CC LED 驱动器配置将减少处理器负载并允许其他有趣的可能性,例如加速度计输入或无线连接。放入电池还可以缓解始终将有线便携式电源组拴在您身上的系统压力。总而言之,结果和我希望的一样!

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !