简介:Neopixel Led戒指饰品
嗨,祝大家节日快乐!如果你看看我的个人资料,很明显,我有点LED成瘾者。这种成瘾或多或少地开始几年前在典型的WS2812B(AKA Neopixel)环的典型时。我的妈妈建议把戒指放在我们的圣诞树上,所以,经过一些焊接(以及一些从妈妈的制作帮助!)我的LED装饰出生。我自从更新装饰以来,我今天会给你展示。(请注意,LED颜色比上面的视频看起来更好)
装饰物由WS2812B LED环组装而成。你通常会发现这些环是嵌套的,所以把它们焊接在一起是很简单的。您还可以通过添加或省略环使装饰物变小或变大(但是您必须在我的代码中更改几行)。我今天给大家介绍的装饰品使用了分布在5个环上的61个LED。装饰品的外径约为90毫米。在这个尺寸下,它足够小,可以舒适地挂在树上,同时仍然有大量的LED动画。
在这种指示中,我将向您展示如何制作装饰品和我的控制板,包括电池和墙壁供电版本。但是,您可以控制装饰品的不同方式,因此我鼓励您使用您更喜欢的任何设置。
我将为Arduino(Uno、Nano等)和ESP8266(特别是WEMOSD1 Mini)提供我的代码版本。希望这将是有益的,如果你想做自己的控制设置。
如果您以前从未使用过WS2812B,我建议您阅读Adafruit指南概述。
为了控制装饰,我使用了一个wemosd1迷你安装在一个定制的PCB上,我已经设计好了。该印刷电路板可以适应运行从一个脂电池或从5伏墙壁适配器。使用电池应该产生约3-4小时的运行时间使用我的默认设置。通过限制效果和亮度,这可能会扩展很多。
PCB上的所有东西都是通孔安装的(除了墙上供电版本中使用的几个0805电阻器),所以应该很容易焊接。
在决定墙壁或电池供电版本之前,我非常鼓励您在选择之前阅读整个说明,因为所需的部件略有不同。
我的定制PCB还包括一个MAX4466麦克风板(用于基于音频的动画)和一个HC-05蓝牙板安装。同样,使用wemosd1 Mini允许无线控制。不幸的是,目前我的代码还不支持这些,但我希望将来能添加它!
最后,如果您有任何疑问,请发表评论,我会回复您:)
Github链接:
装饰代码/文件:链接
控制PCB文件:
如果您感兴趣,您可以查看PCB的布局和示意图在这里. (Mk2和Mk3板将用于本说明中)
3D打印控制盒文件:链接
LED PCB环文件(由ME设计):链接到文件和链接至示意图。只有当您想拥有一组由JLCPCB这样的人制造的戒指时,才需要这些文件。如果你想要很多戒指,这可能会帮你省钱。你可以在我的另一篇文章的第4步中看到订购组装好的PCB的说明指导.
用品:
定制PCB:
对于电池和墙壁供电的选择,你需要一个定制的PCB设计自己。如果您以前从未订购过定制PCB,那就很容易了。我在我的另一篇指导文章的第2步中简要地回顾了它在这里. 对于这个项目来说,所有的排序默认值都可以。
对于电池供电的版本,您可以使用找到的PCB文件在这里.
对于墙供电版本,您可以使用找到的PCB文件在这里。
墙壁和电池板之间的唯一区别是,墙壁版本包括一个逻辑电平转换器的位置。这是可以绕过的,所以如果你想灵活,你可以只订购墙壁供电的PCB版本。
电子零件:
(您可能能够在Aliexpress,Ebay,Banggood等的地方找到较低的零件的大部分零件)
适用于电池和墙壁供电版本:
- 一套WS2812b环。在这里找到的。应包括24,16,12,8和1长环。
- 一个Wemos D1 Mini V3。在这里找到的。
- 一条19 x 6 x 13mm滑动开关(这些非常常见,执行器应为4-5mm)。在这里找到的或在这里。
- 两个JST-XH 2.5mm 3针公接头。在这里找到的
- 一个直角JST-XH 2.5mm 3针内螺纹接头。在这里找到的。
- 一台JST-XH 2.5mm 3针母连接器。在这里找到的。
- 六个JST-XH压接端子(尽管您应该购买备件)。在这里找到的。
- 外螺纹2.54毫米收割台。
- 22Ga绞合线。
- 一个MAX4466突发板MIC在这里找到的。(可选)
- 一个HR-05蓝牙板。在这里找到的。(可选)
电池供电版本的额外零件:
- 一台1S 720 MAH Lipo电池。在这里找到的。(你可以使用其他的LiPo,但它们应该在大约50x34mm的区域内,以隐藏在装饰品后面)
- 一个TP4056 LiPo充电板。在这里找到的。
- 一个直角JST-PH 2.00mm 2针内螺纹接头。在这里找到的。
墙壁供电版本的额外部件:
- 一个直流3.5毫米(内径1.35毫米)内螺纹接头。在这里找到的。
- 一个5v 2A(最小)墙壁适配器。你有很多选择。理想情况下,你会发现一个与3.5毫米直流插孔,但这些并不常见。大多数都有一个2.1毫米的直流插孔(如这个),所以您需要购买一个低至3.5毫米的适配器(如这些). 作为另一种选择,您可以使用任何USB电话充电器能够提供2A和USB到3.5毫米直流插孔像这样. 对于所有选项,请确保您的适配器具有过流/短路保护,大多数UL列出的适配器都应具有此保护。
- 三个6x6x9mm触觉按钮。在这里找到的。(可选)
- 一个74AHCT125逻辑电平转换器。在这里找到的。(可选,但推荐)
- 一个1000uf,10V电解电容器。在这里找到的(有点可选)
- 每个0805尺寸100K电阻,1K电阻和1UF电容中的三个。在这里找到的,在这里,和在这里.(可选,按钮)
- 两个4mm M2螺钉(可选,用于3D打印盒)
其他部分:
- 白色/奶油色毡。我没有一个具体的来源,但你可以找到一些在您当地的工艺品商店。我用的东西大约有1毫米厚,这似乎能很好地分散发光二极管,同时保持它们明显的亮度。如果你找不到或者不想使用毛毡,你可以使用其他材料作为扩散器,但你必须进行实验。
- 感受到你选择的颜色。这是装饰顶部的盖子。可以像你一样薄或厚。
- 直径95mm。模切盘。用于切割毡圈。在这里找到的。
- 擀面杖或其他坚硬的圆柱形物体。用于用模具切割
- 针和螺纹。您将想要使用紧密匹配的白色/奶油感觉的颜色的线程。日常缝纫线应该正常工作;它不必特别强烈。
- 您选择颜色的条纹线。这是用来挂装饰品的。你可以在当地的工艺品店买到一卷特定颜色的,但我发现这个包裹有一堆应该有效的颜色。
工具:
第1步:选择电池供电还是墙壁供电
我将向您展示如何使电池和墙壁供电版本的装饰在这个指导,但由于你需要略有不同的部分,为每个选项,你需要选择之前,你开始建设。
我的定制PCB并不关心它的电源是什么,只要它是5V或以下。通常情况下,电路板是通过2针JST-XH连接器供电的,但这不能直接用于墙壁适配器。你可以做一个直流插孔到JST适配器,但幸运的是引脚输出和间距这1.35mm内孔直流插孔与JST连接器大致匹配。因此,你可以很容易地取代1.35毫米连接器,保持清洁和简单。当使用5V电源时,唯一的另一个可能的问题是将数据电平转移到LED。我在第18步更详细地讨论了这一点,但简短的版本是,它可能不会成为你的问题。
因此,关于是否使用墙壁或电池电量的决定主要取决于您的特定装饰情况。例如,我通常在从树上悬挂装饰品时使用墙壁电源,因为它很容易隐藏电线,我想保留一整天。但是,如果我挂在墙上,抽屉,货架等,电池电量可能会更容易。使用电池电量,您应该通过默认设置达到3-4小时的运行时,但是您可以通过将动画限制为立即点亮LED的动画来大大扩展。
对于任何一个选项,您都可以从技术上将控制器与装饰分开。例如,您可以将控制器放在圣诞树的底部,并将数据/电源/地线连接到装饰品。这允许你做三件事。首先,它减轻了装饰品的重量,这可能有助于悬挂它。第二,你要同时驱动多个装饰品(我有我的PCB的替代版本来做这件事)。最后,您可以轻松访问控制器按钮来调整动画。我还设计了一个三维打印盒举行控制器。
但是,由于LiPo的电压降低(4.2V),并且随着时间的推移,电压会下降,因此应尽可能缩短装饰件和控制器之间的距离,以将电压降降至最低。如果你想把控制器和装饰物分开,你应该按照墙供电版本的步骤来做,但是要用LiPo供电。
步骤2:制作装饰品步骤1:
制作装饰品的第一步是移除外部32像素的LED光环(如果您的电视机附带了一个)。这会给你留下五个戒指。您可以通过使用钢丝钳切割每个环之间的四个连接来分离环。
您在网上找到的大多数WS2812B戒指都有六个戒指,每个戒指有32、24、16、12、8、1个LED。虽然你可以用所有的戒指做一个装饰品,但它的直径大约为112毫米,在我看来,这对挂在圣诞树上来说有点太大了。去掉外部的32个LED光环,这个装饰物的直径就可以达到91毫米,可以挂在树上,同时还可以让你玩总共61个LED。
请注意,使用所有环都没有问题,但您需要在步骤4中缩小含有更大的毡圈,并且还会在我的代码中更改几行。
第3步:制作装饰步骤2:
接下来,取一个母的3针JST-XH连接器,将其焊接到外圈上,如图所示。连接器的引脚应连接到环上的DIN、5V和GND焊盘上。JST连接器将用于连接到控制器,为所有环提供电源和数据。
接下来,我们将把所有环的5V和GND焊盘连接在一起,以便共享一个公共电源。所有衬垫应在所有环上成一条直线。有许多不同的方法来连接焊盘;你可以使用两段实心导线,一段小长度的导线,等等。我选择使用2.54毫米公头的引脚,因为很容易将它们从带中滑出,我有一堆放在周围,它们正好适合桥接环之间的间隙。这样就省去了测量和剥离一堆导线截面的工作。
如图所示,焊接头引脚之间的所有GND焊盘,然后在所有5V焊盘连接成两行。焊接时,可能需要使用镊子将管脚固定到位。
第四步:制作装饰品第三步:
现在我们将连接环之间的数据管脚。
WS2812B LED旨在组装到一个长链中,其中每个LED通过单个数据引脚将数据传递到下一个。在大多数WS2812B条带和电路板上,DI表示条带的数据输入侧(即条带上的第一个LED),而DO或DOUT表示条带的数据输出(即条带上的最后一个LED)。对于环,每个都具有DI和DO垫。
我们想把这些环连接起来,这样数据从一个环传输到下一个环,从外圈开始,向内环传输。换句话说,我们要将外圈的DO焊盘连接到下一个内圈的DI焊盘,一次向内移动一个环。
为了做到这一点,我焊接长度的22Ga绞合线之间的焊盘如图所示。我用绞合线代替了头销,以便一眼就能分辨出数据板。请注意,不同版本的戒指可能有DI和DO垫都在同一侧(而不是像我一样交替)。在这种情况下,数据线将需要跨越5V和GND线为每个数据连接。
一旦所有的连接都完成了,你应该用保形涂层或一些热胶来保护它们以防意外短路。
第五步:制作装饰品第四步:
接下来,我们将使毛毡盖住装饰品。
首先,你应该切割一个直径约95毫米。白色毡圈。为了做到这一点,我用了一些卡片切割模具,你可以找到在这里. 你可以试着用手切毛毡,但使用模具会给你完美的结果。正式地说,这些模具是用来和像Sizzix这样的冲模机一起使用的大人物(我使用的是,因为我的妈妈有一个),Buuuut我相当确定你可以使用擀面杖。
使用滚动销:
模具沿着它的中间凸起凸起。这是切削刃。使用模具将其放在毛毡顶部,然后用切削刃下来。确保在平滑,坚硬的表面上这样做;您不希望模具留下切割表面上的标记。接下来拿擀面杖并将其滚过模具,施加向下压力。这应该削减毛毡,但你可能必须重复几次以完全切割。
到底,你应该用一个完美的毡圈留下。
第六步:制作装饰品第五步:
接下来,我们将把毡圈附加到LED环。你可以用胶水(经典粘性胶水应该有效),但它可能会影响LED的光线扩散,留下比其他地区越暗。相反,我选择使用针头和线程来粘贴圆圈。
这个过程有点难以描述,但希望你能理解。
从装饰物的顶部开始,将针和线穿过毡圈的顶部,穿过外两个环(24和16个LED)之间的间隙。将装饰物翻转到背面,在12和16个LED光环之间的间隙中选择一个点,并在第一次插入时稍微逆时针方向。将针向上推,穿过毛毡,穿过你选择的位置。针和线现在应该回到装饰物的顶部。现在您已经完成了一个循环。
现在重复整个过程。你应该慢慢地绕着饰品走一圈,边走边系上毛毡。你可以使用任意多的环,但大约五个环应该足够好的地方举行感觉。
最终,您将返回到第一个插入。当这种情况发生时,将针穿过第一圈线。拉紧线头,使毛毡牢固,然后将线头在第一圈周围打个结,将其固定到位。
我知道这可能有点混乱,但如果你刚开始在环之间穿针,你可能会明白的。如果你有任何问题,请告诉我!
第7步:制作装饰步骤6:
接下来我们将添加装饰帽。
我没有太多的建议。用锋利的剪刀从毛毡上剪下一个帽子形状。在切割前用钢笔轻轻地画出你的切割线是有帮助的。如果你和我一样的话,在你得到一顶你喜欢的帽子之前,你可能得先做几顶帽子。
一旦你有了帽子,用热的或热的胶水把它粘在装饰物的顶部粘性胶水. 确保它在JST连接器上,因为那是装饰品悬挂的地方。
第8步:制作装饰步骤7:
最后,我们将添加挂字符串。
如图所示,花一系列选择,并通过24和16个LED环之间的间隙,在环形连接线下。
将两个绳子绑在一起,你用装饰品完成!
接下来,我将介绍如何构建电池供电的控制器。如果您正在寻找墙驱动的版本,请跳到墙控制器步骤。
步骤9:电池供电控制器步骤1:
在这一系列步骤中,我将介绍如何制作一个电池供电的装饰品。请注意,这个版本使用锂电池。如果处理不当,这些可能是危险的,并构成火灾风险。如果你不熟悉锂电池,我鼓励你做一些安全性研究。
此外,由于PCB支持麦克风和蓝牙断开板,因此在这种指示中不会使用一些引脚。这是故意的。
首先,拿起我的定制控制器PCB和TP4056 LiPo充电板。如图所示,将TP4056热粘合到控制器顶部。请确保留出空间,以便稍后添加wemosd1 Mini(您可以在PCB上看到它的轮廓)。
接下来,在控制器和TP4056上的B+和B-引脚之间焊接长度为22Ga的导线。B+和B-标记在控制器PCB的背面。
步骤10:电池供电控制器步骤2:
接下来,如图所示,将滑动开关,3引脚JST-XH和2引脚JST-SH连接器焊接到位。您可能希望添加一些热胶,以向连接增加一些额外的僵硬。3针JST连接器将用于向装饰圈提供电量和数据,而2引脚连接器提供电池的电源输入。滑动开关控制控制器和环的电源。
您还应该焊接公头2.54毫米到位的Wemos D1迷你。Wemos将与其他组件安装在控制器PCB的同一侧。
您可能希望将1000UF电解电容器添加到电路板上。这可以保护LED在启动时从当前的浪涌处。使用墙壁供应时,这更具不风光,但添加它不会受到伤害。它未显示在上面的图像中,但您可以使用“1000UF”晶体标签旁边的通孔添加它。电解电容器确实具有极性偏好,因此确保将正为“+”和地面匹配“ - ”。要保持板块紧凑,您应该在插入和焊接引线之前将电容放在侧面。
步骤11:电池供电控制器步骤3:
最后,使用上一步添加的头将wemosd1 Mini焊接到位。
此时控制器已完成。你可以用热胶水把它和电池粘在装饰品的背面,如图所示。确保您能够将微型USB电缆插入Wemos和TP4056。您还应该确保控制器下方的装饰连接没有被任何控制器的插脚短路;您可能需要用一点胶带覆盖任何碰撞的插脚。
要为控制器供电,请将电池的JST-SH连接器插入控制器的2针JST连接器。确保插头的极性与控制器的连接器匹配!正极应连接到VCC,接地连接到PCB上标记的GND。在大多数电池上,正极是红色导线,而接地是黑色导线。如果可能的话,你应该用万用表来确认。如果电池上的插脚是反向的,你可以用镊子把它们从连接器中拔出来,然后再把它们互换。
当滑动开关处于“off/chg”位置时,您应该能够使用TP4056为蓄电池充电。当电池充电时,TP4056上的红色LED应该点亮。请注意,您不能在装饰物开启时充电。
步骤12:电池供电控制器步骤4:
最后,使用两个雄性3针JST-XH连接器,您应该制作适配器以将控制器连接到装饰。按照图所示,按照布线订购;黑色是地面,红色是积极的,蓝色是数据。
如图所示,将适配器连接到装饰品和控制器。确保电线正确匹配。
在这一点上的装饰是完整的!你可以跳到编码步骤上传代码,让你的装饰品闪烁。:)
如果您有任何疑问,请留下评论,我会回复您。
第13步:墙壁供电控制器注意:
在接下来的一系列步骤中,我将介绍如何构建一个墙驱动版本的控制器。这使您可以使用一个普通的5V墙壁适配器为装饰品供电。您还可以访问控制器的按钮(在电池供电的版本中无法访问),从而控制LED效果。请注意,控制器没有任何过电压调节或过电流保护功能,因此请确保使用内置过电流保护的5V适配器(大多数现代UL认证的适配器都应具有此功能)。
适配器必须能够输出足够的电流以驱动装饰品。对于单个装饰,最大电流绘制(最大亮度与全白色的所有LED,每LED 60mA)约为3.5A。但是,最大亮度是Waaaay比你需要的更亮,我的代码将亮度限制在255中的亮度为150,而默认值为50.因此,默认情况下,最大电流绘制约为1A,而在150时,它约为2a。同样,我的预编程效果都没有接近全白色,因此实际的当前凹陷将远低于最大值。因此,对于单个装饰,一个共同的2-2.5A适配器应该很好。
我还为控制器设计了一个3D打印框来保护它。
如果您有兴趣立即驾驶多个装饰品,我已经设计了一个最多三个装饰的替代控制器PCB在这里. 我不会详细介绍它的组装,但它基本上与单个装饰控制器相同。您需要使用三个垂直的JST-XH 3针连接器来代替单个直角连接器。此外,如果你想驱动多个装饰品,你需要一个更大的适配器更高的电流消耗。同样,您需要小心电路板上的一些组件,即电源连接器和滑动开关。两者都应该只被驱动到3A左右。这将是罚款的默认设置,但如果你需要更多的亮度,你需要更强大的组件。
第14步:墙壁供电控制器第1步:
首先,抓住控制器的PCB。请注意,您的PCB看起来略有不同,在TP4056轮廓内具有额外的一组引脚。这些用于安装74ahct125逻辑电平转换器。我在组装第一个PCB后添加了这个,我已经测试了你的版本,但没有完成完整的装配。我将在后面的步骤中转过转换器。
在PCB的顶部(TP4056轮廓的一侧),如图所示,将SMD电阻器和电容器焊接。它们的值在PCB上表示。这些是用于推动按钮。
你也应该桥接焊盘标签“LLC旁路”附近的D8引脚。它绕过74AHCT125逻辑电平转换器,将数据直接发送到LED。
第15步:墙壁供电控制器第2步:
接下来,我们将焊接直流插孔连接器和3引脚JST-XH连接器的印刷电路板。直流插孔提供电源输入,而JST连接器提供电源和数据的装饰品。
偶尔,公共3.5mm直流插孔连接器的销(在耗材中连接)恰好匹配2.54mm 2引脚JST-XH连接器的连接器。这允许我们在PCB上可互动地使用两个连接器,只要我们注意引脚极性,使得正向VCC以及地面GND。愉快地,DC连接器具有三个销,外部两个连接在一起。这意味着通过卸下其中一个外销,我们可以通过正确极性定制连接器以适合JST的位置。对于中心正连接器(最常见的类型),外销将是研磨的,内部焊条。
对于控制器,您应该根据图表从DC插孔修剪额外的别针。确保您确认您的墙壁适配器是中心正面。大多数人应该是,但如果它不是那么你应该修剪连接器上的另一个外销。
接下来,把连接器和一个直角的3针JST-XH连接器焊接到PCB上,如图所示。
第16步:墙壁供电控制器第3步:
现在我们将添加Wemos D1 Mini。
在此之前,您应该确认您可以对Wemos进行编程,并且它工作正常。
按照说明开始在这里为Arduino IDE安装ESP8266内核。
这使你可以编程Wemos就像它是一个Arduino。安装后,打开IDE并使用micro USB电缆将Wemos连接到您的计算机。在工具->电路板下,选择“LOLIN(WEMOS)D1 R2&Mini”。在“工具”下,选择Wemos连接到的端口。尝试上传blink(或者你自己喜欢的测试程序)。如果一切正常,Wemos的LED应该开始每秒闪烁一次。
翻转控制器PCB,将2.54mm凸头行焊接到Wemos D1迷你区,如图所示。
下一步,把D1迷你到头部,并焊接到位。
第17步:墙壁供电控制器第4步:
接下来,将滑动开关和触觉按钮焊接到位,如图所示。您可能需要修剪开关的侧标签。确保开关体没有短路下面的任何衬垫。你可能需要在垫子上加一条小胶带。
你可能需要在电路板上加一个1000uf的电解电容器。这可以保护LED在启动时免受电流浪涌的影响。上面的图片中没有显示,但是您可以使用“1000uf”丝印标签旁边的通孔添加它。电解电容器确实有一个极性偏好,所以要确保正极和“+”匹配,接地和“-”匹配。为了保持电路板紧凑,在插入和焊接引线之前,你应该把电容器放在它的侧面。
如果你不3D打印我的控制盒,你就完了!您应该在下一步中阅读逻辑级别的注释,否则可以跳到代码部分。
如果要为控制器3D打印我的机箱,则应打印出一个“switch cap.stl”的一个副本和三个“按钮cap.stl”的副本。您可以找到所有文件在这里.
如图所示,将开关和按钮盖推到滑动开关和按钮上。
- 滑动开关盖是方形的,可能需要一点胶水粘在开关杆上。
- 钮扣帽是圆的。它们应该与按钮摩擦配合。
步骤18:壁供电控制器逻辑电平移位:
WS2812B LED是5V设备,而Wemos是3.3V设备。这在技术上意味着Wemos输出的信号将无法被led读取。规格方面,WS2812B的接受电压低至~3.5V。这是注册数字“高”信号所需的电压(根据WS2812B数据表,输入电压为0.7*)。这仍然超出了Wemos的范围,buuut,通常控制器的输出和装饰上的led之间的电压降足够大,以弥补数据差距。以我的经验,你可以通常使用3.3V设备驱动WS2812B,无需任何中间硬件。
但是,如果您从LED遇到任何故障,控制板都有一个74Ahct125逻辑电平转换器的光斑。这将3.3V数据信号转换为5V,并应解决任何问题。
74AHCT125焊接在TP4056 LiPo充电器的位置,如上图所示。确保在D8引脚附近对“LLC旁路”焊盘进行脱焊。
最后,如果您感兴趣,电池供电版本不需要逻辑电平转换器的原因是LiPo的输出电压只有4.2V。因此,注册“高”所需的电压只有4.2*0.7=~3V,这是Wemos可以提供的。
第19步:墙壁供电控制器第5步:
如果您是3D打印我的控制盒外壳,您应该打印一个“方框.stl“还有一个”盖子.stl". 可以找到这些文件在这里.
首先,将盖子连接到铰链处的箱子上。可以使用一段1.75毫米的灯丝作为铰链销。
接下来,如图所示插入控制板。直流插孔、JST-XH连接器、滑动开关和按钮都应与盒子和/或盖子中的切口对齐。用热胶水固定控制器。
盖上盖子后,您可以选择使用两个4-5mm M2螺钉将其固定。
第20步:墙壁供电控制器第6步:
控制器现在结束了!连接装饰品和墙壁适配器,您可以遵循上面的图片。您需要将一个母JST到JST连接器的母动力设置为装饰品的数据/电源。确保你的密码是正确的!只需将VCC/Data/GND引脚与装饰品输入和控制器输出上的引脚匹配即可。尽量不要使电缆太长,否则你会有太大的电压降,LED的颜色会褪色。我最长的电缆约6英尺。这应该让你挂在圣诞树装饰,同时保持控制器在地面水平。
你现在可以上传代码,让你的装饰品闪烁!:)
步骤21:代码
我已经为这个装饰品编写了代码,其中包括28种不同的效果。我添加了与ESP(Wemos、ESP8266等)和8位Arduino板(Uno、Nano、Pro Mini等)兼容的版本,以防您想使用自己的控制器。效果是相同的,但有一些小的差异,我将在下面讨论。
您可以找到两组代码在这里.
我的代码目前不支持WiFi,但我希望在将来添加它。同时,如果您想利用Wemos的WiFi功能,您可以考虑使用WLED公司,这具有它是自身的效果。
在您可以将代码上传到WEMOS之前,您需要三个库:
- 我的“PixelStrip”库
- Adafruit“Neopixel”图书馆
- Paul Stoffregen的“TimerOne”库(仅Arduino代码版本需要,默认情况下应该已经安装在IDE中)
您可以从下载PixelStrip库在这里. 下载所有文件并将它们放在Arduino安装目录的libraries文件夹中名为“PixelStrip”的文件夹中。
您可以使用ArduinoIDE的库管理器安装Adafruit Neopixel和TimerOne库。
一旦你安装了这两个库,你可以上传代码到你选择的微控制器。
两套代码都支持按钮输入和EEPROM保存。EEPROM是用来保存效果数,亮度和效果旋转设置时,饰品关闭。默认情况下,这两个功能都已关闭。您可以通过将代码顶部的“BUTTONS\u ENABLE”和“EEPROM\u ENABLE”标志设置为true来打开它们。代码已完全注释,但如果您有任何问题,请告诉我。
Arduino和ESP板的按钮用法不同。下文对此进行了解释。
WEMOS / ESP按钮使用:
- 按钮1:下一个效果(或在关闭效果旋转时重新启动当前效果)
- 按钮2.:打开/关闭旋转效果。这会使当前效果无限期重复
- 按钮3.:亮度循环。您可以通过更改代码中的“brightnessLevels”数组来调整增量。
Arduino按钮使用:
我的库的编写方式要求对按钮按下使用中断。大多数Arduino板只有两个中断引脚,因此我们必须做一些技巧来复制ESP的功能:
- 按钮1:
- 单按:下一个效果(如果效果旋转关闭,则重新启动当前效果)
- 双击:进入亮度调节模式,再按一次将退出此模式
- 按钮2.:
- 通常会打开/关闭效果旋转。这会使当前效果无限期重复
- 在亮度调整模式下,更改亮度
如果你已经走了这么远,谢谢你的阅读!我希望你觉得这很有用。如果你有任何问题,请留言,我会给你回复的。
最后,节日快乐给你们!:)

参加了
节日装饰速度挑战
讨论