Neopixel LED面罩

2020-08-02 14:42:48

大家好,在这本Instructable I';M中,我将向您展示如何使用WS2812b LED(又名Neopixels)制作动画面膜。这一描述并没有真正做到这一点,所以快去看看上面的视频吧!请注意,许多动画使用随机选择的颜色,因此您每次都会得到不同的效果。我认为在当前的大流行期间穿着这件衣服会很有趣,同时也有助于保护其他人的安全。口罩完全遮住你的嘴和鼻子,同时保持容易呼吸。显然,它没有医学评级,但它应该会捕获你呼出的任何水分,所以在外出和四处穿着应该是安全的。为了确保您和他人的安全,我建议您在我的口罩下面戴一个普通的口罩。这也有助于保持口罩的清洁,因为你基本上只能用肥皂水轻轻浸泡口罩的背面,否则就不能用肥皂水(或者使用紫外线直接消毒)。

我还应该补充说,LED在阳光直射下并不是特别可见,但它们肯定是在任何阴凉处或室内。

该掩模使用104个WS2812b LED,由常用的144个LED/m LED条段组装而成。WS2812b和WS2812b可单独寻址,这意味着您可以控制每个LED的颜色。这使您可以创建几乎任何您能想象到的效果(只要您可以对其进行编码)。如果您不确定您可能喜欢什么效果,或者不想编写一大堆代码,请不要担心;我已经编写了控制蒙版的代码,其中包括41种不同的效果,您可以使用一系列按钮来控制这些效果。LED使用Wemos D1 Mini进行控制,Wemos D1 Mini是一款Arduino兼容微控制器,采用ESP8266作为处理器。这会给你足够的内存和能力来运行你想要的任意多个效果。它还可以让您访问WiFi功能(尽管目前在我的代码中没有实现)。面罩由一个1S脂肪电池从外部供电。虽然面罩可以在一个电池上运行很长时间,但通过将电池放在外部,您可以很容易地更换一个新的。所有组件都安装在定制的PCB上(LED条除外)。

1.按照本说明书中的步骤操作,使用几个单独的PCB,全部由我设计。你得做一点焊接才能把所有的东西都连在一起。

您可以在此处找到所有PCB(单击Github中的链接,右侧应该会有一个下载按钮):

2.使用我设计的单个一体化PCB来安装所有元件。这比选项1更容易组装,但我没有亲自测试过电路板。我在组装好最初的面具后设计了这块板。我没有建造另一个,所以我没有测试电路板。这就是说,它本质上只是选项1中的董事会的组合,所以我非常有信心它会工作得没有任何问题。它还将为您提供添加一个MAX4466麦克风(用于音频反应效果)和一个HC-05蓝牙转接板的选项,尽管我的代码目前没有包含它们中的任何一个。我没有此选项的组装图片可供您遵循,但步骤与选项1基本匹配,我会在需要时添加选项2的注释。

您可以在此处找到PCB(单击Github中的链接,右侧应该会有一个下载按钮):

无论您选择哪个选项,两个电路板都需要一些SMD焊接,但不能小于0805,可以用细尖熨斗手工焊接。最后,您需要使用3D打印机来制造一些机械部件。

我建议您通读整个Instrucable以熟悉步骤和组件。对于选项2来说尤其如此,因为你将不得不依赖我的笔记而不是图片。

需要注意的一点是:面膜是使用外部脂肪电池供电的。如果处理不当,这些电池可能会有危险。如果你没有任何经验与脂肪,我建议你做一些研究,然后再尝试这个版本。

如果您有任何问题,请留言,我会回复您的。

(你可能可以在Aliexpress、eBay、BangGood等地方找到大部分成本较低的部件)。

如果您正在建造选项1,您需要订购两块PCB:一块Wemos Lipo充电器组合板和一块三层平面触觉按钮板。您可以在上面的Github链接中找到这两个链接。

如果你正在建造选项2,你只需要一块PCB:一块Wemos Lipo Button组合板。您也可以使用上面的Github链接找到它。

如果您以前从未订购过定制的PCB,那就很容易了。我在我的另一本书的第二步中简单地回顾了一下。与Instrucable一样,此项目的所有订购默认设置都应该没问题。

三个6x6x9 mm触觉按钮:在这里找到一个JST-XH 2.5 mm 2针插头:在这里找到一个JST-XH 2.5 mm 3针插头:在这里找到5个JST-XH 2.5 mm压接端子:在这里找到2.54 mm插头(可能可以与WEMOS一起使用)一个19 x 6 x 13滑动开关(这些都很常见,执行器应该是4-5毫米长):在这里或这里找到三个SMD 0805 1k电阻器:在这里找到三个SMD 0805 1UF电容器:在这里找到三个SMD 0805 100k电阻器:在这里找到一个Wemos D1 Mini V3:在这里找到一个TP4056脂肪充电器:在这里找到各种颜色的22Ga硅胶线:在这里找到一个(或多个)1S脂肪电池。容量由您决定,但我建议至少850马赫。你可以买到我在这里用过的那件。如果你买了一个不同的背包,你还得设计一个背带固定装置,把它固定在面具上。一个母接头,与您的LIPO的输出接头相匹配。它很可能是一个红色的JST连接器:可以在这里找到

300 x 600 mm(1x2英尺)2 mm LED泡沫塑料(Plastazote):可在此处、此处或此处找到(美国卖家)。它放在遮罩的前面以扩散LED。LED泡沫塑料很适合扩散,但很难找到,所以运输可能会很贵,这取决于你在哪里。作为另一种选择,你可以使用毛毡或其他类似效果的织物,但一定要先测试一下。如果用剪刀剪很容易剪的话会有帮助的。我鼓励你试一试,你可能会找到比我的更好的剪刀。

300 x 600毫米(1x2英尺)的深色布料。我没有这个链接,因为我不记得在哪里买的。这是用来盖住面具背面的。任何薄的面料都可以。如果它是很容易用剪刀剪下的桌子,那就有帮助了。

这些只是关于面具总体设计的一些注释。阅读此步骤是可选的。

就像我所有的无人教具一样,我想让面具相当容易组装,所以我主要是试着使用容易买到的通孔部件。在用我自己的几个PCB组装了第一个掩模后,我觉得组装有点太麻烦了,所以我设计了一个多功能一体的PCB来让它更容易。然而,我不想建立一个全新的掩模,所以我没有使用一体机PCB的图片。希望我在每个步骤中的笔记对每个人来说都足够了。如果您想要调整/查看任何PCB,您可以在这里、这里和这里找到它们。目前,在控制WS2812b LED时,ESP8266和ESP8266很难胜过ESP8266;因为它们比大多数常见的Arduino板具有更大的内存和处理速度,而且价格也非常便宜。作为额外的奖励,你还可以使用wifi。在一组常见的ESP8266转接板中,Wemos D1 Mini是我的最爱,因为它的尺寸、可用性、编程简易性(它采用了ch340G USB转串行芯片,因此您不需要启动按钮即可编程)和成本。WEMOS的电压是3.3伏,而WS2182b和WS2182b的电压是5伏。通常,这意味着您需要一个逻辑电平转换器(LLC)来在两者之间通信。然而,我发现你可以使用1S脂肪电池(4.2伏,额定3.3伏)来为这两款产品供电,而不需要有限责任公司(LLC)。这很棒,因为脂肪是便携设备的理想选择。我之前的“无敌”使用一个外部电源库作为它的电源。这是因为遮阳板上没有足够的空间放脂肪。另一方面,面膜的带子有足够的空间,所以装上脂肪不是问题。这样做更好,因为它将面膜保持为一体化包装。使用TP4056接口板对脂类进行充电。我一直在用它们,因为它们便宜、普通,而且充电电流可达1A。面具的三个按钮中的每一个都有去抖电路。关于电路的理论可以在这里找到。我本可以只在软件中脱颖而出,但我决定添加几个组件会更容易,然后就完全不用担心了。我用硅胶线把面具上的大部分电线都用上了。硅胶线比标准线更具柔韧性,应能承受戴上/摘下面罩时的任何反复弯曲。最终它可能会失败,但这可能是在几千次弯曲之后。我没有把一堆单独的LED连在一起,而是使用了LED条。这不仅节省了布线,而且还确保了LED的均匀间距。我试着把尽可能多的LED塞进掩模中,所以我选择了密度最高的WS2812b LED条(144个LED/m)。然而,条带需要在它们周围留出一些空间,才能正确地与蒙版保持一致。其结果是LED在水平方向而不是垂直方向上的间距更大。这确实意味着一些动画看起来有些夸张,但总体来说这不是一个大问题。

取下将面罩线束连接到面罩主体的皮带(您可能想要拍摄一张皮带设置的照片,以便以后可以重新连接)。

取一段你选择的扩散材料(LED泡沫塑料、毛毡、布料等),把它粘在面罩的外缘上。您将需要推动扩散器到面具,并可能在某些地方修剪它,使其符合面具的形状。你能得到的材料越接近面具的外网越好。特别要小心鼻子区域,你要把面料弄得尽可能深,以确保面膜完成后有足够的空间放鼻子。

您选择哪种胶水将取决于您的扩散材料,但热胶对我来说很好。我建议只粘在面膜的外缘,而不是直接粘在网格上。

一旦胶水干了,用剪刀/业余爱好刀等将面膜边缘的多余物质修剪掉。最终结果应该与我的类似,如上图所示。请注意,蒙版周围的边缘不需要非常干净,只要它仍然符合蒙版的形状;您将用m将所有这些都覆盖起来。

将LED条切成上图所示的部分。沿着LED之间的接触区域切割条带。一定要把它们均匀地切割,这样你就有足够的空间焊接到剩下的焊盘上。

如上图所示排列LED条。对于WS2812b LED,数据只在一个方向上流动,每个LED将数据传递到队列中的下一个LED。这意味着带钢截面的取向是非常重要的。如果您没有正确地确定它们的方向,数据将无法流动。确保与上图中显示的方向相匹配。

如上图所示,在每个条带之间留出大约5 mm的间隙。焊接22Ga线段,将条段连接在一起。这些是用于配电的,我们将在下一步做数据线。你不必完全按照我在图片中所做的去做,只要每个部分都接上电源和接地就行了。

用22Ga焊线翻转带状部分,并在各部分之间焊接数据线。使用上面的图片作为指南。应添加数据线,以便数据以Z字形模式流出一个区段并流入下一个区段。如果您的带子有粘合剂支持,您将需要删除它的一部分,使用业余爱好刀,以便焊接在带子的垫子上。

确保在焊接前将焊盘锡化,这很有帮助,因为焊盘相当小。尽量避免加热条带太长时间,以避免对LED的潜在损坏。

(可选)此时,您应该测试条带以确保其正常工作。跳到掩模组件步骤6并添加数据输入线。然后继续构建控制器。测试试条,然后返回此处以完成遮罩组装。

把带子粘到面罩上。确保方向正确;数据应从左向右流动(从前面查看时)。您需要弯曲条带部分,使其符合蒙版的形状。确切的位置由你决定,但不要把带子放得太高,否则它们会塞进你的鼻子里。

使用热胶将条带固定到位。在粘合之前,您应该去掉覆盖所有粘性背衬的纸张。

最后,如图所示,添加从掩模一侧到另一侧的接地和正极线。这是为了确保所有带区的电压稳定。

剪下三段28厘米长的22Ga硅钢丝。这些导线将条带连接到控制箱,并在打开/关闭面罩时反复弯曲。硅胶钢丝的使用寿命应该比普通钢丝长得多。颜色由您决定。

将这些电线焊接到掩膜的第一个(最右边)条部分。您应该将一条导线连接到接地、正极和数据焊盘。数据线应连接到第一部分的第一个焊盘。在添加电线之前,一定要先给焊盘加锡。焊接时要小心,你可能会加热该区域的任何热胶,这会使焊接变得困难。

电线接好后,用热胶固定。要宽宏大量,你要避免任何焊点直接弯曲。

使用压接工具和压接连接器,将3针JST-XH外螺纹连接器添加到导线的另一端。顺序应该是肯定的、数据的、地面的。请参见上图。您也可以添加一些热收缩来帮助保持电线在一起。

对于选项2,JST-XH顺序颠倒,因此它应该是接地、数据、正。如果你弄错了,这没什么大不了的,你只需要把针脚去掉,就可以重做JST连接器了。

与掩模组装步骤1类似,将布背粘到掩模上以覆盖LED条。任何轻薄的面料都应该可以。您希望能够轻松地通过它呼吸。

就像第一步一样,试着让面料尽可能贴合面膜的内部,然后用你选择的胶水把它粘到合适的位置(我还是用热胶)。最后,修剪掉面膜边缘周围多余的布料。这是最后一层,所以越整洁越好。

抓起Wemos D1迷你LIPO组合板(见图)。翻转电路板,找到VIN、D5、D6、D7和D8跳线垫。将这些焊盘留空可以让您使用逻辑电平转换器和3.3V稳压器来为LED供电,但我们不需要在此项目中使用这两种设备中的任何一种。如图所示,用焊料桥接每个焊盘。

接下来,切割三根55 mm长的22Ga导线。把这些焊接到电路板左侧的三个焊盘上。确保电线在电路板的WEMOS一侧,如图所示。这些电线最终将连接到电源开关。

请注意,Wemos Lipo组合板是我用来安装Wemos D1 Mini的通用PCB。它有许多我们不使用的可选组件,所以如果您在组件的末尾看起来缺少部件,请不要担心。

切割2~45 mm长度的22Ga线材。使用两种颜色将有助于保持事物的有序。接下来,将每根电线剥离并焊接到Wemos LipoCombo板上的VIN+,-位置,如图所示。请注意,我将一根电线连接到电路板的顶部,并将一根电线连接到底部。这有助于保持董事会底部不那么拥挤。

接下来,将两根导线焊接到凹式2针JST-XH连接器上,如图所示。请仔细注意连接器的方向!它的方向应使连接器的开放侧面向PCB的底部(LLC和VIN跳线一侧),并且连接的导线应使负极线最靠近PCB。这将是连接到脂肪电池的接口。

或者,您可以添加一些3 mm的热收缩来屏蔽与JST的连接。

如果您正在执行选项2,请将2针直角JST-XH连接器焊接到电路板上(忽略连接器下面的焊盘)。确保它在TP4056和按钮的一侧。

剪下两根55 mm和一根35 mm长的22Ga丝。如果可能的话,使用三种颜色。如图所示,将两个55 mm长的管脚剥离并焊接到D8管脚和一个接地管脚上。将35 mm长的焊盘剥离并焊接到最靠近丝印标签的电路板右侧的大焊盘上。电线在电路板的哪一边(顶部或底部)并不重要。

将三根导线焊接到3针JST-XH母接头上。就像使用2针连接器一样,方向也很关键。如图所示,连接器的方向应使其开口面对PCB的底侧(TP4056和LLC跳线一侧)。接地线应连接到距离PCB最近的引脚。连接到D8的导线应连接到中间引脚。最后,正线应连接到外部引脚。您也可以选择使用3 mm热收缩来屏蔽连接。此连接器将用于将电源和数据传递到掩模LED。

如果您正在执行选项2,请将3针直角JST-XH连接器焊接到PCB的适当位置。它应该与2针JST连接器在同一侧。

拿到三个按钮的印刷电路板。如图所示,使用夹子将PCB上的两个安装腿剪下。接下来,按照指示将三个0805 1K和100K电阻器和三个1UF电容器焊接到PCB的底部。这些添加的部件为按钮创建了去弹跳电路。最后,将三个6x6x9 mm触觉开关焊接到PCB的顶部。

如果您正在执行选项2,请执行与上述相同的步骤,但改为将组件连接到Wemos Button Combo PCB上。按钮应面向带有JST接头的一侧。

切割5根22Ga丝:3~20 mm长,2~25 mm长。至少两条25毫米的长度应该是不同的颜色。

首先将两根25 mm长的导线焊接到按钮板的5V和G引脚上。然后将另一端焊接到Wemos组合板上的VCC和GND引脚上。5V应连接到VCC,G应连接到GND。

接下来,将三根20 mm长的导线焊接到按钮PCB上的K1、K2和K3引脚上。然后将导线的另一端焊接到Wemos组合板上的引脚D5、D6和D7,如图所示。连接应为:K1到D5、K2到D6和K3到D7。如果您改变它们,这是很好的,但您稍后将不得不更改几行代码。

如果您正在执行选项2,请跳过此步骤。按钮已经连接到您的PCB版本上。

如图所示,在Wemos D1 Mini和TP4056的Wemos Combo PCB上焊接凸头2.54 mm。您可能需要使用WEMOS和TP4056来帮助对齐引脚。修剪掉所有多余的针脚长度。

在执行此操作之前,您应该确认您可以对WEMOS进行编程,并且它工作正常。首先按照这里的说明为Arduino IDE安装ESP8266内核。

这样你就可以编程Wemos,就像它是Arduino一样。安装后,打开IDE并使用微型USB电缆将WEMOS连接到您的计算机。在Tools->;board下,选择";Lolin(Wemos)D1 R2&;Mini&34;。另外,在Tools(工具)下选择WEMOS连接到的端口。尝试上传blink(或您自己最喜欢的测试程序)。如果一切正常,Wemos的LED应该会开始每秒闪烁一次。

将WEMOS D1 Mini和TP4056按到各自的外螺纹接头上。将它们焊接到位。修整。

.