介绍:RGB LED像素阴影
大家好,在这篇指导性文章中,我将向大家展示如何制作一对LED像素阴影。最初,我设计这些衣服是为了在圣诞节/新年时在家里穿,有点像手机装饰品,但最终它们比我想象的更像是电脑朋克,所以在其他活动中穿起来也应该很有趣!
色调使用76米WS2812b的LED(又名Neopixels)。这些LED唯一项目的光在一个方向,这样你就可以通过深浅没有看到自己致盲。WS2812b的是独立寻址的,这意味着您可以控制每个LED的颜色。这使您可以创建几乎所有你能想象(只要你可以编写它)有任何影响。如果你不知道你会喜欢什么样的影响,或不想写一串代码,也不用担心;我已经写代码来控制深浅不一,其中包括40种不同的效果。阴影还包括了MAX4466麦克风(音频反应效果)和HC-05蓝牙接口板连接,虽然我的代码目前没有纳入其一。
LED由Wemos D1 Mini控制,这是一款与Arduino兼容的微控制器,采用ESP8266作为处理器。这给了你足够的空间和力量去运行你想要的效果。它还允许您访问WiFi功能(尽管我的代码中目前没有实现)。遮阳帘通过连接到任何普通5v电源组的3.5mm DC插孔至USB电缆进行外部供电。
LED和WEMOS都安装在自定义PCB上,这也形成了阴影的框架。焊接76个LED(及其去耦电容)中的每一个都是很多工作。同样,WS2812B可以很容易地用手焊接损坏。为避免这两个问题,我将向您展示如何订购PCB预装配的LED和电容。
请注意,只有色调PCB旨在预先组装。您仍然需要将组件焊接到右侧寺庙PCB(耳机)。这将需要一些SMD焊接,但没有比0805更小,可以用细尖的铁用手焊接。
最后,你需要使用3D打印机来制作一些机械部件。
你可在此找到所有相关档案:https://github.com/AlbertGBarber/Pixel-Shades
供应:
(您可以在Aliexpress、Ebay、Banggood等地方以较低的成本找到大部分部件)
多氯联苯:
每对色调的需要三块PCB:左镜,右太阳穴和灯罩PCB。您可以在GitHub的存款上面链接中压缩的Gerber PCB文件。我将说明如何在这个造说明以后订购的PCB。
电子部分:
下面的链接应将您带到预填充的BOM表(BOM),其中包含一对阴影所需的所有零件。我建议订购每个零件的额外零件,以应对装配过程中的任何事故。请注意,您将需要一个Digikey帐户来访问BOM表。
https://www.digikey.com/BOM/Create/CreateSharedBom..。
如果链接不起作用,请参阅下面的零件列表,包括零件号:
- 一个3.3伏的线性稳压器:MCP1755ST-3302E/DB
- 一个22欧姆电阻,1/4W, 1206尺寸:rc1206jr rl - 0722
- 一台3.5毫米女性直流杰克:pj - 040 dh
- 一个SOT-23-3 NPN晶体管:MMBT2222A-7-F.
- 五个1μF,0805,25V电容器:CL21B105KAFNNNE
- 四个1K, 0805电阻:RNCP0805FTD1K00
- 1直角,3针,2.50mm JST连接器:S3B-XH-A(LF)(SN)
- 三100K,0805电阻:RMCF0805FT100K
- 三个4.5 x 4.5 x 5mm触控按钮:PTS 647 SM50 SMTR2 LFS
- 一个3针,2.50mm母JST连接器:XHP-3
- 三个JST压接连接器:sxh - 001 t - p0.6
微控制器:
- 一个Wemos D1 Mini v3.1.0关联
如果你选择焊锡的阴影PCB自己,你还需要:
- 76个WS2812b发光二极管:关联(你可以在其他地方找到它们:全球速卖通、Ebay等)
- 1个1N4148W, SOT-123二极管:1 n4148w-tp
- 710.1μF,0402,电容器:cl05b104ko5nnc
如果您想使用蓝牙或麦克风输入:
其他地区:
- 直径10mm 130毫米。黑色热缩关联
- 〜5mm 3mm Dia。热收缩(任何颜色比黑色,可选)
- 一个龙虾扣项链关联
- 一个1”迪亚。钥匙圈环关联
- 22 ga硅胶线关联(重复弯曲)
- 两个5mm M2螺钉
- 6颗4mm M2螺钉
- 一家USB电力库(几乎任何工作,都应该有1A个)
- 一根USB到3.5mm DC插口电缆关联(我身高6英尺,4英尺的电缆对我来说很舒服,但如果你短一点,3英尺可能更好)
- 一个鼻子支撑件关联
- 76 1/4“圆形白色贴纸关联(理想情况下他们会4毫米的直径,但是我无法找到任何)(可选)
工具:
- 三维打印机+1.75毫米灯丝
- 剥线器
- 钢丝钳
- JST端子用电线压接器关联
- 热风枪
- 带细尖端的烙铁
- PH0螺丝刀
- 剪刀
- 小尖嘴钳(用于珠条加工)
- 镊子(用于贴片/焊接)
步骤1:PCB注释
阅读此步骤是可选的。PCB上和一般的色调设计的一些注意事项:
- 如果你想调整或检查pcb,你可以找到它们在这里.
- 我用Fusion 360设计了阴影的轮廓,根据一副安全眼镜建模。然后我用3D打印来测试它们的适合度。当我满意的时候,我导出了每个部分的DXF,然后导入EasyEDA作为板的大纲。
- 使用EasyEDA有点单调乏味,因为它似乎没有一种方式来按模式布置零件,所以我不得不手动放置所有的LED和电容器。同样,我也在第一个布局中使用了一个用户制作的LED示意图,必须将其替换为BOM和pick&place。这一点,再加上几个类似的错误,导致我不得不重做几次布局。
- 我选择Wemos D1 Mini作为微控制器有三个原因:
- 它有大量的存储器和处理电源来存储和运行模式。
- 它相当小而且便宜。
- 您可以使用Arduino的IDE编程。
它能够潜在地使用WIFI的事实是奖金。
- 不幸的是,Wemos使用3.3v逻辑电平,而WS2812 led严格是5v。使用这在指南中,我能够避免使用逻辑电平转换器,并用一个二极管代替它。二极管仅连接到第一个LED的电源输入。这将使输入电压降低约0.6v,仅足以使用Wemos的3.3v逻辑。同时,LED的逻辑输出足够高,可以与其他LED对话。从技术上讲,第一个LED的亮度会降低,但实际上并不明显。
- 我曾考虑过用车载LiPo电池为灯罩供电,但我认为这会增加太多体积。同样,从外部电源组运行遮阳帘更安全,并为用户提供一定的容量灵活性。
- 现代的动力库会关闭,除非经常有少量的电流被抽出。虽然阴影应该有足够的被动吸收(每个LED在关闭时约为1ma, Wemos约为30ma),但为了安全起见,我增加了一个保持通电的电路。该电路由一个NPN晶体管通过22欧姆电阻连接到地。晶体管由Wemos控制,使用定时器中断,允许从电源组定期抽取~225ma的电流。
- 每个LED的最大电流为~60ma,这意味着在全白和最大亮度下,阴影将产生~4.5A的电流。这是超越评级的大多数电源银行和也阴影连接器。幸运的是,由于人类对光线的感知是非线性的,阴影在半亮度时看起来几乎和在全亮度时一样亮,这是我在代码中设置的上限。
- 每个阴影三个按钮有一个脱扣电路。可以找到有关电路的理论在这里.我可以刚刚用软件进行拆除,但我决定添加几个组件更容易,然后根本不必担心它。
- 我在Wemos上有一些多余的引脚,所以我决定为一个普通的麦克风和蓝牙接线板增加引脚。我认为这些可以为人们添加一些有用的功能,尽管我自己并不打算使用它们。
第二步:订购寺庙的pcb
您将需要从PCB原型制造商订购两个寺庙PCB。你可以在我的github(“Gerber_temple left_20191124153844.zip”和“gerber_temple rewise esp8266_20191124153834.zip”)。如果您之前从未购买过自定义PCB,则非常直接;大多数公司都有一个接受拉链格伯文件的自动引用系统。我可以推荐JLC PCB那Seeedstudio那AllPCB, 或者摩托公园,尽管我相信其他大多数也能工作。这些厂商的所有默认板规格都可以正常工作,但要确保将板厚度设置为1.6mm(应该是默认)。板的颜色是您的喜好。在下一步,我们将订购的阴影PCB被组装。你不需要从同一家制造商订购遮光罩和多氯联苯,但这可能有助于节省运费。
步骤3:订购的百叶窗PCB第1部分
该灯罩PCB旨在由一个PCB制造商进行组装。如果您想自己组装电路板时,你可以跳过这一步。被警告,电路板上的电容0402大小的,所以他们是棘手的手工焊接。同样地,WS2812b LED对焊接温度相当敏感。
大多数原型PCB制造商提供组装服务,但我选择使用JLC PCB,因为它们的成本较低。在接下来的步骤中,我将指导您从JLC PCB.这些步骤也应该适用于其他制造商。在撰写本文时,JLC的PCB组装服务是相当新的,似乎是针对业余爱好者的。这样做的好处是,与其他制造商相比,服务是非常便宜的(5个5个颜色的组装大约50美元),但需要注意的是:
- 他们只组装在一个单一的一面。
- 必须从自己的内部部件供应提供组件。
- 通孔组件将被忽略。
- 只有2层和4层。
- ≤每次订购50件。
- 订单被接受为5的倍数。
- 仅1.0mm / 1.2mm / 1.6mm厚度。
- 仅板的颜色是绿色。
- 1盎司是最大铜重量。
我已经围绕这些要求设计了阴影PCB。不幸的是,你将需要订购至少5个颜色,你被卡住了绿色PCB。
步骤4:订购的百叶窗PCB第2部分
步骤5:订购阴影PCB第3部分
打确认后,您应采取一个页面上传BOM和拾取和放置文件。这些文件告诉系统哪些部分使用了PCB上,并在他们的地方。从这个步骤或下载文件,我github(“BOM_Shutter Shades WS2812B Ver_20191203151413.csv”和“PickAndPlace_Lenses Ws2812B_20191203151443.csv”),并上传至JLC。你的页面看起来应该像上面的图片。准备好后,点击Next。
步骤6:排序阴影PCB部分4
在这个页面上你可以确认要放置在PCB上的部件。
您应该看到三个组件的列表:
- 一个1N4148W, SOT23二极管
- 76 WS2812C, LED-5050_4P
- 71 0.1µf, C0402电容
所有这些部分都需要确认,如上图所示。虽然不太可能,但如果有任何部件丢失了,或者无法确认,JLC要么不再储存它们,要么它们已经过时了。如果您留下评论,我将尝试用替换部件来帮助更新PCB。或者,您可以复制PCB和调整它自己在这里.您可以通过更新BOM来更改丢失的零件;只要它们有相同的SMD足迹,就不会有问题。
当你准备好了,点击Next。
第7步:排序阴影PCB部分5
这最后的排序步骤。你应该给组装的PCB的预览。确保元件放置图像相匹配的上方。需要注意的LED红色圆点表示引脚1.如果一切正常,你可以下订单,并回到这里当它到达。
步骤8:着色PCB组装:
我们将通过焊接电源,地和信号线连接到灯罩PCB开始装配。通过切割硅胶线的3〜67毫米长度开始;两个黑色和红色之一。剥开每根导线的一端的一小部分并附加阴JST压接端子使用压接工具。然后从每根导线的另一端部条〜10毫米。锡只是为此与焊料的前端。你想刚够焊料停止从磨损的电线不增加线材的厚度。在结束时,每个线应与上面的第一个图像。
可选地,您可以添加一个短长度的彩色(我使用绿色)热收缩到黑色电线之一,以标签它作为信号线。
接下来,插入每根电线通过阴影PCB的外部孔(在有三个孔的一面)。红线应该穿过最上面的孔。将电线的剥离部分弯曲成钩状,然后将其推入PCB上相应的孔中。用尖嘴钳帮忙。你希望最后有一点电线的护套出来的pcb孔,这将让电线作为应变/弯曲缓解。
这可能有点令人困惑,但希望这些照片会引导你。
接下来,把电线焊接到位。你可能想提供的电线与右寺庙PCB(将安装按钮和Wemos D1迷你),以确保他们足够长。此外,电源和接地连接将需要比信号更多的热量,所以你可能想要提高你的烙铁温度,如果可能的话。
最后,插入女性JST压接连接器插入你的女性JST住房。确保线序的形象相匹配。顺序应该是功率,信号,然后研磨从连接器(连接到右太阳穴PCB时从它的取向采取)的顶部开始。
我们已经完成了阴影PCB现在,所以你可以把它放在一边。
步骤9:寺PCB组装第1部分
现在我们将装配寺庙PCB。虽然PCB都具有组件的标记,但我们主要将专注于右寺(按钮和WEMOS D1 MINI安装的那个)左侧寺庙PCB上的组件斑点是冗余。
首先,我们将SMD组件焊接到PCB上。如果你从未焊过SMD零件,这里有一个指导,以帮助你开始:关联.所有的部件都是0805或更大,所以手工焊接应该是相当直接的。
首先将组件焊接到PCB的后部,其中包括:
- 三个100 k电阻
- 四个1k电阻器
- 五1µf电容器
- 一个22欧姆的电阻
- MCP1755稳压器1个
- 一个MMBT2222 NPN晶体管
它们的位置都被标记在PCB上。
您的最终结果应该看起来像上面的第一个图像。
接下来,将PCB翻转过来,焊接三个按钮到位,如图2所示。
步骤10:寺PCB组装第2部分
现在我们将添加一些热收缩到寺庙pcb和电源连接器。这有助于保护你的耳朵不受粗糙的PCB边缘。
先切直径10mm两种65毫米长度。热收缩。滑一块头收缩沿着每个印刷电路板的臂。
在热缩前,将3.5mm DC插孔接头焊接到右Temple PCB背面,如图所示。注意,你可以把它焊接到任何一边。我选择了后面,因为那对我来说是最舒服的。焊接时,将热缩沿手臂滑动,防止手臂过热。
一旦插孔连接器是连接,滑热收缩回下来超过插孔,如图所示,并收缩热收缩在两个寺庙pcb使用热风枪。
最后,焊料直角,公连接器JST到右太阳穴PCB的背面侧,如图所示。
步骤11:Temple PCB Assembly Part 3
现在我们要将Wemos D1 Mini焊接到神殿的PCB上。
在您这样做之前,您应该确认您可以对Wemos进行编程,并且它可以正常工作。
从下面的说明开始在这里安装ESP8266核心的Arduino的IDE。这可以让你的Wemos,如果它是一个Arduino编程。
安装后,打开IDE并使用微型USB电缆将Wemos连接到计算机。在工具->线路板下,选择“LOLIN(WEMOS)D1 R2&Mini”。还可以在“工具”下选择Wemos连接到的端口。尝试上传blink(或您自己喜欢的测试程序)。如果一切正常,Wemos的LED应该开始每秒闪烁一次。
一旦您确认,您可以将代码上传到WEMOS,使用男性标题将其焊接到正确的寺庙PCB,如图所示。确保将其焊接到侧面,WEMOS上的PIN标签应匹配PCB上的标签。从标题中修剪任何过量的长度。
在这一点上,所有的pcb是完全组装,我们准备把所有的片段放在一起。
如果您想使用Max4466话筒或HC-05蓝牙模块,现在是将其连接到PCB的时候了。它们的位置已标记,请确保针脚匹配,以便获得正确的方向。
步骤12:阴影最终组装第一部分
使用3D打印机,打印出两对铰链(两对“铰链1”。Stl和hinge 2。Stl "附在这一步,也在我的github).将长度为1.75mm的细丝插入铰链的两个部分,将它们连接在一起,组装铰链。
然后,如图所示,连接铰链到阴影PCB使用4个4mm M2螺钉。
您也可以使用支架上的凹槽连接机头支架,只需将其滑入PCB的机头区域即可。它应该非常合适。
步骤13:阴影最终组装第二部分
3D打印的“耳朵Cover.stl”连接到这一步。滑到Wemos盖子。该盖的孔应与右太阳穴PCB上对齐。
使用两个5mm M2螺丝,将盖和右太阳穴PCB的灯罩PCB的右侧铰链。插入女性JST连接器插入右太阳穴PCB上阳壳。
拿左太阳穴PCB和龙虾爪项链夹。将卡箍穿过pcb臂末端的孔。然后,如图所示,在龙虾爪的环上系上一个钥匙环。
最后,使用两个4mm m2螺钉,将左磁筒PCB连接到窗帘PCB的左铰链。
此时,阴影组装完成。
步骤14:阴影最终组装第3部分(可选):
在这一步中,我们将贴纸添加点的阴影来帮助扩散的指示灯。这一步是可选的,我认为它使色调更好看,但它确实会导致光的反射量小。
一般来说,当WS2812b led在材料中扩散时看起来更好。这有助于分散光源,使你的眼睛更容易,同时也使颜色更明显。阴影的问题是,我们不想把led光反射回我们的眼睛。我们不能使用厚的漫射器,因为任何从漫射器两侧散射的光都会反弹回来。
相反,我们将使用细点贴纸(参见介绍中的链接)。在我测试的所有方法中,这些方法使led的散射刚好可以接受,同时也使光反射最小化。但是,它们必须以特定的方式应用。
虽然贴纸薄,但如果贴纸覆盖整个LED正方形,则它们仍然对在中央视力范围之上或低于您的中央线上或低于您的中央线上的LED的明显反射。这是因为,当穿着色调时,直接向前看,你的眼睛是带着阴影的中心杆的水平,而另一个条与你的眼睛有一定角度。该角度意味着贴纸的边缘对您来说是可见的,并且通过边缘的任何光也将可见。
我们想要最小化我们能看到的边。因为贴纸是圆形的,当我们戴上遮光罩时,我们只能看到每个LED的一个边缘(不管是底部还是顶部),我们可以把贴纸放置在我们看到的LED机身边缘的一小部分。如果你仔细看的话,你可以在上面的图片中看到(不好意思,质量不好)。
换句话说,你应该放置贴纸,使它们几乎盖住每个led镜头(光线实际出来的部分),贴纸的额外部分更接近阴影的顶部或底部外缘。然后用剪刀把多余的部分剪掉。
这将漫射LED光,但在非常黑暗的条件下,你仍然会看到一些反射。
第15步:代码
我写的代码,其中包括40种不同效果的色调。它可以在我的发现github在文件夹“shadeS_code”中。在您可以将代码上传到WEMOS之前,您需要两个库:
- 我的“pixelstrip”库
- Adafruit Neopixel库
你可以下载PixelStrip库在这里.下载所有文件并将其放在Arduino Installt Directory的库文件夹中名为“pixelstrip”的文件夹中。
你可以使用Arduino IDE的库管理器安装Adafruit Neopixel库。
一旦安装了这两个库,就可以打开Shades_Code.ino并将其上载到Wemos。如果一切都好,阴影应该开始循环效果。您的色调现在已完成!:)
如果有问题,请前往我的故障排除步骤。
在这一点上,你可以进入下一步,在这里我将介绍阴影的按钮功能,以及如何佩戴它们。如果你想禁用或修改任何效果,我将在下面介绍。
变化的影响:
如果您想禁用效果,则需要在ShadeS_Code.ino文件中找到它。它将在主void Loop()中的大型交换机语句中。这些效果没有单独标记,因为它很难用评论来描述它们,所以你可能必须做一些狩猎。一旦您找到了效果,您只需要将案例编号更改为高于禁用它的效果总数(99)的任何内容。
您也可以修改或添加自己的效果。要添加效果,请将其添加到主void loop()中的switch语句中,并增加“numEffects”变量。
我的库能够做广泛的效果,但它是有点困难的工作。它最初只是一个小的效果库,但我后来扩展它运行的效果在奇怪的像素形状(环,星星等),所以它变得有点混乱。现在我已经有了这个库的架构,并且我完全打算在将来重写它。同时,当前的库是完全注释的,并且没有bug(在segmentSet.h中查看关于段的注释),但是你可能需要做一些实验来理解每个效果是如何工作的。
此外,led的布局是锯齿形的。他们的号码在Shades PCB的背面。
步骤16:穿着和使用灯罩
佩戴时,将3.5mm插孔线缆穿过钥匙圈,插入右太阳穴末端的连接器。把电缆穿过钥匙圈,就像皮带一样,把墨镜固定在脸上。使用任何5V电源。
按钮:
这种窗帘有三个钮扣。当使用我的代码时,他们做以下事情:
(这些功能也在左庙PCB上列出)
- 巴顿1:下一步影响(或重新启动当前效果,如果效果旋转关闭)
- 按钮2:开启/关闭旋转效果.这使得当前效果无限期地重复
- 按钮1+2(同时):阴影开启/关闭.只是停止效果,而不是关掉电源。
- 按钮3:亮度周期.您可以通过更改“brightnessLevels”阵列在我的代码调整的增量。
如果你这么走了,请谢谢阅读!我希望你的色调玩得开心。如果您有任何疑问,请留下评论,我会回复您。
步骤17:故障排除:
如果你在这里,那么窗帘就不能正常使用。下面我将讨论一些可能的问题和解决方案。如果你没有看到任何可以解决你的问题的东西,请留下评论,我会尽力帮助你。
- 当插入电源时,遮阳板不会显示任何东西。
- 试着把一个微型USB插到Wemos上。阴影应该打开。
- 如果他们这样做,你的移动电源有问题。
- 如果他们没有,尝试上传任何代码到weemos(如blink)
- 如果还能用,那就是阴影和神殿PCB之间的连接有问题。再次检查JST连接。电线应该按顺序从上到下依次:电源,数据,接地。
- 如果连接正常,请尝试注释掉代码中的按钮函数,可能是某个按钮出现了故障。
- 如果它不起作用,则WEMOS已经死亡,或者它正在重复重置。打开Arduino串行监视器(将波特设置为115200)并查看任何重置代码。如果你得到一个代码,你必须做一些谷歌,以了解出了什么是错的。如果您没有收到任何代码,WEMOS可能已经死亡。
- 如果还能用,那就是阴影和神殿PCB之间的连接有问题。再次检查JST连接。电线应该按顺序从上到下依次:电源,数据,接地。
- 试着把一个微型USB插到Wemos上。阴影应该打开。
- 阴影工作,但一些像素闪烁(这发生在我订购的5个pcb中的2个)
- 这可能是第一个像素的问题(戴上阴影时的右上角)。你需要替换像素。首先,使用一对细尖端的线切割器将其移除,以切断像素与PCB的连接。小心不要把焊盘从PCB上拔下来。然后,您需要购买一些WS2812 led在这里,并将其中一个焊接到位。确保像素的方向与行上的其他像素相匹配。

亚军
时装大赛
11讨论
4个月前
伟大的那样!设计是基于Macetech的(开放硬件)RGB LED阴影,还是独立完成的?我喜欢你墨镜上的WiFi选项
http://macetech.com/store/index.php?main_page=product_info&cPath=14&products_id=59
4个月前的回复
这些都是我独立设计的。我记得几年前在Makerfaire上看到一些阴影(几乎可以肯定是Macetech的早期原型),这个想法就出现在我的脑海里。当时我并不具备自己制作游戏的技能,但最终我还是回到了这个项目中:)
问题5个月前
你能穿过他们吗?
5个月前回答
是的,如果你曾经戴过百叶窗,它和那些差不多。
1年前
优秀的项目和写作。除了时间和工具,BOM的总成本是多少?
回复1年前
如果您使用提供的链接购买所有内容(SANS Tools),它将在运输前花费〜150美元。请记住,如果您包含Digikey Bom的5份,则这将足以使5种阴影(您将获得至少5个PCB)。我只包含一个总共一个电源银行,所以如果你想要每个阴影,那么增加〜$ 40。
你可以节省约30美元,如果你组装的阴影pcb自己。
你可能会在易趣、Alixepress、Banggood等网站上找到大部分便宜的零件。
回复1年前
一双听起来有点贵,但五双也不错。在我准备做那么多之前,我会让自己做好心理准备!
回复1年前
是的,确实很多。我应该补充的是,如果你从JLC得到PCB(包括阴影PCB组装)的成本是50美元。所以剩下的100美元只是用于其他供应品,但很有可能你已经有了一些(热缩、备用钥匙圈、M2螺丝、电源等),所以你的实际成本可能会低得多。
1年前
这些真的很棒!你有戴着它的人的照片吗?
回复1年前
你好,谢谢询问,请看附件的图片。这种遮阳板有156毫米宽,41毫米高,大约是一副普通安全眼镜的尺寸。我本可以把它们做得小一点,但我想让它们可以戴在眼镜上。
回复1年前
我认为这看起来很棒!感谢分享图片:)
你应该考虑将这张图片添加到Instructable中,这样其他人就可以很容易地看到它:)