宜家明星与神奇和新偶象

7,291

56

13.

简介:宜家明星与神奇和新偶联

我已经使用NeoPixels好几年了。2015年12月,我在宜家找到了1米宽的7点星灯。他们有一个白色的灯泡,但我想知道,如果我把一些像素放在手臂上,从切割出来的光会是什么样子。我购买了一些灯,并开始制作更多动画,但直到今年秋天我才开始在灯上添加像素。现在的挑战是把所有这些都装进ATtiny85,而且只用USB数据线供电!

注1:这些明星是宜家的“季节性产品”。商店会在九月或十月得到一定数量的货,当它们卖完了,你就得等到明年了。每年它们都会有不同的尺寸和图案(每年都是不同的图案!),所以如果你喜欢这些图案,可以考虑多买一些。

星星上的图案每年都在变化!你能做到的!即使你是一个新的Arduino黑客。我对这个教程的目标是使它容易的新手,并包括一些有趣的东西,有更多的经验!继续读下去吧,麦克达夫,前方有许多冒险等着我们!

要开始,您需要一种方法来编制Arduino或Aginy。我用过http://Arduino.ccIDE, 1.6.11版本。

你也需要一个Neopixel Library..我发现Adafruit有最好的,但请从他们的一些东西,因为这是什么让他们快乐的黑客(https://learn.adafruit.com/adafruit-neopixel-uberg…,这使项目更容易为我们其余的人!:-)

最后,如果你正在考虑使用ATtiny85,我建议Sparkfun USBtiny程序员https://www.sparkfun.com/products/11801),让它变得简单,但你也可以在网上找到许多其他教程,如何使用另一个Arduino编程ATTiny。您还需要一个好的AVR核心(板文件),其中包括ATtiny设置信息。给我印象最深的是来自斯宾塞Konde,你可在此找到该文件(https://github.com/SpenceKonde/ATTinyCore),但也读取安装文件以获取额外的线索。关于attiny85的一个良好的裸骨板文件来自https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json.最后,无论何时您设置或更改您的ATtiny板设置为16兆赫(内部)时钟速度或其他处理器功能,记得点击“燃烧引导装载程序在你上传草图代码之前,在Arduino IDE工具菜单的底部。

请从头到尾看完这张说明书你开始切割电线或像素条!当我试图让这变得简单的时候,有很多事情要做,也有很多事情要思考。我希望你在做这个项目的过程中可以学到一些东西,不管你的Arduino经验有多丰富。:-)

你需要Arduino的一些尺寸,一些WS-2811或2812型NeoPixel带,一些#24规格的连接线。

  • 你将需要每个宜家星的14个neopixels。我更喜欢现在使用小电路板像素,但是我使用每米像素的60个像素的条带开始该项目,并剪下铜焊盘之间的像素。我使用白色背景样式,没有粘合的背衬。
  • 我推荐#24仪表搁浅的连接线,我建议您获得红色,黑色和第三种颜色,帮助您在焊接时直接保持这些线路。
  • 我常用的Arduino是迷你, 或者Adafruit羽毛,但这个项目实际上是足够小的,以适应ATtiny85!!
  • 你会发现,如果你有一个小虎钳,或“三手”工具,将电线焊接成像素更容易。
  • 你还需要电烙铁和焊料。

第一步:星星有大有小,明智地选择!

大型宜家恒星是1米的圆形(约40英寸),而且很深。您可能希望将其挂在墙壁附近,或从天花板上挂在墙壁附近,但如果您希望能够将其放入窗口并仍然关闭窗帘,这非常大。

较小的宜家星约为3/4米,但它是一个更好的窗户装饰。

表面上的切口也需要考虑。这些将是光线如何释放到墙壁和天花板上。您可以在商店中找到充足的库存,但您还应该在线检查Strala灯,看看是否有更好的颜色或模式。

在这张有三颗折叠星的图片中,请注意,较暗的两颗星有一个洞(实际上是方形的)贯穿其中。但三种中较轻的一种在手臂边缘的扇贝上有薄纸,这将阻止光线流出,但它也会发出明亮的光。

正如你在上面看到的,我在星星的每个臂上放了两个像素。一个像素应该安装在中线之上,这样它就面向下和“左”,另一个像素应该安装在中线之下,分别面向上一点和“右”。这样,你可以用一种颜色照亮天花板,用另一种颜色清洗墙壁。有一个标记的图片显示了我关于交替像素的意思(一个高于中线,一个低于中线)。

像素最适用于星形臂的1/3至1/2路。很难将它们放在武器的最小/最远的末端。当我尝试将它们放在远端时,像素非常靠近臂的相对侧,并在臂的相对侧导致亮色点。通过将它们更接近中间,您可以通过切口获得更好的色洗,更好地分散。

在短线上留下一些松弛,以便您以后可以折叠恒星。如果您的短线太短,只需几个折叠后,它们可能会损坏Neopixel磁带。

在白板上,你可以看到我用来从手臂到手臂(长)和横跨手臂(短)的电线的长度。当然,大恒星和小恒星的长度是不同的。我发现先焊短电线,然后再焊长电线比较容易。稍后我将对此写更多。

我已经包括一个简单的绘图,显示只有8个像素,以及如何安排长轴和短线。如果您绘制要连接的内容,包括所有像素和数据流的箭头,则可能有助于帮助。绘制它可能有助于您了解如何将其融合在一起。

由于每个7点星只需要14个像素,因此您可能会考虑从同一像素中添加更多星星!我包括一个原理图来帮助执行此操作,因为您需要3个有线(电源,地面和数据),但是当您丢到每个星时,您也需要Star#1的数据出来朝上Star#2等数据中的数据,因此您需要一个4线电缆滴到每个星。

第二步:准备材料会花费一些时间,但会让你以后不再沮丧

测量两次,切一次。观察你的星星手臂上的图案,然后决定你想把像素安装在哪里。然后测量从这一点到星星中心的“长”电线,在那里他们可以做一个u型转弯,然后下一个手臂。写下来!你需要六件,三种不同的颜色。

注意:您应该考虑只制作一个2像素的链,并在一个方便的Arduino上按原样运行草图代码(代码中有14个像素),然后看看在星星的一只手臂上哪个像素看起来最好。一旦你知道了那个位置,你就可以测量更长的电线了。

色彩让生活更美好。重要的是要将电源放在右侧引脚上,右侧引脚上的电源以及正确的引脚上的数据。如果使用三种不同的颜色,它将更有可能保持它们。在这个项目中,您有超过100个连接,因此您可能希望投资于获得三种线颜色,而不是稍后花更多时间调试。(我更喜欢地面的黑色,红色为5伏电源,白色为数据。但是,只要您能够保持含义直接,您可以使用您喜欢的任何颜色。毕竟,绝缘的颜色并不像。t影响电流的流动方式。)

尽量保持冷静。您的新偶像将被切成单独的像素。那些小的条带不能摆脱焊接的大量热量,所以我用一个小的副,而我只能在每芯片一侧迅速锡,并将它们放在一边冷却,然后在我回到锡和锡其他三个垫。(“镀锡”是使用快速的热量施加一个小球焊接到垫上。后来,当我们来焊接电线到每个垫子时,我们只需要快速接触烙铁来重新熔化球连接电线。)这个过程将减少太多的热量可能会损伤条带或像素的可能性。您通常无法看到热量损坏,但它可能导致链中的非工作像素!我今天三盏灯足够像素。您可以从Adafruit阅读这个Uberguide中的关于Neopixels的更多特殊线索。https://learn.adafruit.com/adafruit-neopixel-uberguide

你也应该在电线上镀锡。我用22或20号线。它可能需要一点热量使电线接受焊料。如果你试图同时使用焊丝和焊料,持续的热时间可能会损害一个像素。相反,我用虎钳把烙铁固定在一个角度上,这样我就可以一手拿着焊丝,一手拿着焊料。把电线的两端都镀锡,因为你要把每一端都连接到像素上!

为ATtiny85使用套接字。如果你打算使用ATtiny85,在将来的某个时候,你可能会想要对芯片重新编程,而插座将使这变得很容易。你还应该有电容和电阻。您不需要使用按钮,但稍后可能需要使用按钮。

如果您要提出其中一些,请考虑使用此电路板由AVR Freak Bill Westfield(https://oshpark.com/shared_projects/ruxvnii3)。它们的倍数为4.25美元,并将导致更清洁的安装。

如果您确实想要使用按钮,我建议您在交换机和板之间使用4英寸-6“电线,使得您可以进入明星外的开关(自从主板将在里面** 星)。

我修改了一些具有癫痫的家庭成员的代码版本。当明星开始时,它默认重复彩虹轮图案,改变速度和循环次数。如果按下按钮一次,它进入彩虹循环模式(再次,选择随机速度和随机数的循环)。再次按下按钮时,它进入全随机模式,包括一些快速闪烁和闪烁。按下按钮agin(或关闭电源),然后返回彩虹轮。

第三步:把你的像素连接在一起,最重要的事情先做……

现在你已经有了一堆预先镀锡的像素和导线,是时候把它们放在一起了!你可能想要使用一个小虎钳,或一些“三手”类型的设备。我用的是Panavise型号201它的下巴上有v形凹槽,非常适合放置小板和NeoPixels。

首先从短线开始。首先将三个引线焊接成一个像素(如果你有不同的颜色,可以使用不同的颜色)。此时,选择像素的输入端还是输出端并不重要。在烙铁的尖端预先镀锡,将烙铁放在像素垫上的焊料球的顶部,然后将烙铁与烙铁接触。(你想要的是烙铁尖端的热焊料加热焊丝,软化焊丝上的焊料,然后将焊盘上的焊料熔化。当这发生(快速),你会感到烙铁“下降”一点,这是你如何知道所有的焊料是熔融的,你可以保持电线,但删除烙铁。记住,胶带的小表面不能消散太多的热量,所以只能尝试焊锡到像素非常短的时间,然后让它冷却。

一旦你有三个引线在一个像素上,焊接另一个像素到另一端。注意数据方向,看两个像素上的箭头!箭头应该朝向相同的方向,这样可以让导线平躺在一起。快速焊接到像素的引线,如上所述,以最大限度地减少你放在磁带上的热量。(你很快就能掌握要领,而且每次都会变得更好更快。)

作为像素对(像素,电线和像素)的其余部分焊料,并将其设置为冷却。以这种方式完成所有短线。完成这些像素对后,可以轻轻地弯曲电线,同时保持像素的抽头,因此它们看起来像上面的照片。这些是将安装在恒星的臂中的像素,并且短线需要发出掉头。

准备好长线,并用它们连接像素对。首先把长导线折成两半,并把它们拉直,这样导线就会平放。首先选择一个像素对,并将导线焊接到数据输出(“DO”)侧预镀锡焊盘。我建议使用老虎钳或“第三只手”向上握住像素,然后握住导线,使其向下弯曲。(看第二幅图)以保持角度正确。如果你能保持这条直线,它将更容易安装在星的手臂像素,它将不会对焊接连接施加压力。接下来,将长导线末端焊接到下一个像素对,确保焊接到下一个像素对上的数据输入(“DI”)预镀锡垫。(始终确保你的箭头在链条上朝向相同的方向,所有的线路。如果你向后看一个像素,那就是光线停止的地方,你可能会损坏一两个部分。

当弦成长时,手工握住可能有点困难......我提到了我发现了如何为这些项目找到一个虎钳。;-)继续使用其余的长线加入您的像素对。它应该开始看起来像上面的图片。

一定要测试魔法烟(https://www.adafruit.com/products/565)在安装像素之前!在您尝试安装之前,用鳄鱼剪辑与arduino测试成分剪辑到运行合适的neopixel草图的arduino!这将找到错误的方式安装错误的方式,或者由于您的组装过程中的热量过多,可能会使像素变坏。

更好地将代码放入电路板中。现在还不需要放在Tiny上。如果你只使用UNO或普通Arduino,连接起来可能会更容易。只需在顶部附近签入密码(但在所有注释和注释下面)。把这个草图放在一个板上,准备好,是一个用于测试和修补新像素的好工具。

为了简单地开发我的动画,我可以使用Adafruit的16像素环,以及带有Attiny85的Sparkfun Usbtiny。它很好地包装成一个小塑料食品浴缸,在我的背包里生活,所以如果我有一些业余时间,我已经准备好了破解。(我很期待在我上交时在一辆自驾车中攻击,总有一天工作!;-)

第四步:关于素描…我经常使用评论!

首先,让我们来复习一下基础知识,以确保新手对Arduino有一些基本的线索。有一些经验的人可以直接跳到好消息。

  • 草图:这是要上传到Arduino上的程序文件的通用名称。常见的草图有三个部分(全局变量的定义、设置“功能和主要”循环“函数)。定义任何变量后,设置运行一次,然后循环一遍又一遍地运行。您可以在”循环“之外添加其他功能,然后将您的主循环呼叫函数。在我的素描,我通过调用随机函数来选择颜色,然后我将信息发送到彩色动画函数。当函数完成时,从它的位置继续“循环”。您可以在其中阅读更多信息https://www.arduino.cc/en/Reference/HomePage
    (2020-11-15:我添加了代码版本4,熵(用于更好的随机数)和更多颜色)
  • arduino.:可以指一些事情,但最常见的是指a家庭CPU芯片,以及它们安装在的板/模块。
  • CPU的家庭原始的Arduino UNO板是基于一个特定的“芯片上的系统”(SoC) 设备。这些SOC设备远远多于中央处理单元的字典定义(CPU)但是在业余爱好者的角度代表中,“CPU”通常是板上的芯片,腿数最多,以及所有的大脑。Atmel制作了大量的SoC芯片,一些具有更多内存和大项目的输入,以及一些内存较少,输入/输出较少,用于较小的任务。这被称为爱特梅尔公司家庭因为这些芯片共享同一套机器级指令代码。(多亏了IDE,你可能不需要知道“机器语言”和“指令集”是关于什么的……但如果你想深入研究的话,现在有几个项可以查了。:-)随着Arduino项目的普及,现在有很多电路板,一些使用较大的ATMEL芯片(ATmega…),一些使用较小的芯片(ATtiny),但也有其他电路板使用来自其他芯片制造商的SoC设备。一个例子是青少年从PJRC家庭,http://www.pjrc.com/teensy/index.html,使用来自飞思卡尔的SoC设备。由于Paul Stoffregen已努力将这些处理器添加到Arduino格式的“董事会信息”,因此可以使用Arduino IDE编程Arduino CPU系列的一部分。
  • IDE:是一个集成开发环境,这是一个软件程序,可以让您编辑草图,并知道许多不同的Arduino板和许多不同的软件库,所有在一个计算机应用程序。IDE从http://www.arduino.cc/en/Main/Software(对于英文版本的页面,你的语言可能会有所不同……)是大多数爱好者使用的,但ATMEL和其他芯片制造商也有他们自己的专业IDE程序。
  • 软件图书馆: Arduino IDE的典型“库”是一个小的文件集合,包含一些复杂的代码来做非常具体的事情。对于我NeoPixel草图,有人写了软件方面有经验的“检测到CPU时钟速度和发送比特特殊的针,在一个非常具体的时间格式”,并选择特定偏移量在“360度的色轮”弦上的基于像素的数量。因为这段代码是由专家编写的,所以您不需要弄清楚如何操作。你只需要学习一些在库中使用的“关键字”,然后你只需把这些关键字放在你的草图中。您的Arduino IDE自带基本库,您可以在钻研草图的其他方面时添加其他库。你可以在https://www.arduino.cc/en/Tutorial/HomePage.当你想要添加一个库时,你可以通过IDE来完成,或者你可以从网上下载这个文件夹,并将文件夹放在你的libraries文件夹中(通常在你的草图所在的文件夹中)。例如,Adafruit_NeoPixel库就位于这里https://github.com/adafruit/adafruit_neopixel.
  • 编译:是魔术部分(对于这些CPU家族的我们新的人)。当我们使用Arduino IDE时,我们在C ++中编程,但我们董事会上的CPU在CPU家庭特定机器级代码中说话。编译手段“读取C ++代码,并创建CPU将理解的机器级别`指令集”。我非常感谢IDE将为我们做到这一点,因为我需要学习新的指令集只是使用其他CPU。
  • 上传你的草图:单击上传图标完成,看起来像“播放”按钮(一个圆形按钮,带有右侧的箭头)。当您这样做时,IDE会查看您的草图,确定哪个部分你用过,你用的是哪块板。然后,它将编译您的草图,从您指定的任何库中提取代码(但只使用您在草图中调用的库的部分)。然后它将尝试加载代码到您的板。(如果您没有选择正确的板,它将失败并给您一个错误消息。检查你的板类型和端口!这通常可以防止您向CPU发送错误的机器级代码。)一旦上传成功,你的Arduino重启,应该运行你的新草图!
  • 我还在GitHub上发布了草图:GitHub.是为其他人分享的代码分享的好地方。它也是一个人可能会对您的代码进行一些添加的地方,并分享他们的更改并添加回馈(并且您可以决定是否包含它们)。你可以找到这个项目https://github.com/ZonkerHarris/IkeaStar你最终会找到关于我的RGB颜色调谐器和我的新RGBW颜色调谐器2项目的信息。

好消息是,注释不计入内存分配!

单击上载按钮时,IDE将简单地忽略所有注释,并刚刚设置所有命令以及设置变量的所有命令。正因为如此,我向自己写下故事作为评论,帮助我记住一部分代码要做的或它的期望。我建议你不要删除评论,因为他们可以帮助你理解我为什么这是我所做的方式写作的。

使用NeoPixels对我来说有点棘手。我实际上从Macetech Shiftbrite led开始,它使用SPI,最终理解了这些基于移位寄存器的led的编程。Shiftbrites每颜色有10位,加上两个控制位,而NeoPixels每颜色有8位,但移动方面是一样的。因为这对我来说很难学,所以我觉得对其他人来说也不应该那么难,所以我写了很多线索给以后的人。

我一直在黑客攻击Neopixels,为许多项目,并加入我的Neopixel线索评论。草图不使用线索中引用的所有动画,但我把它们留在那里,这样它可能会激发一些读者的创造性思想。我有更多的动画序列,但由于attiny85中的内存空间较小,我必须离开它们。将草图放入Uno会给您提供足够的空间来使用5米的Neopixel Strip,而且有多次动画。

我构建了一个Neopixel Color调谐器,以帮助我在我的阵列中添加/调整颜色,但将在另一个项目中介绍。

我添加了一个模式开关,但如果你不想要,你不需要添加它。(你可以只选择一个序列,或者选择“随机序列,只要你强化它,它就会做你想做的事情。)就像现在,它将开始在彩虹轮,按下模式切换到所有像素相同的颜色,该颜色将通过彩虹色轮旋转。按下模式再次给你随机-所有。再次按下模式将带你回到彩虹轮。(当然,你也可以改变这种行为。:-)你可以尝试添加一个IR接收器,远程选择一个模式,这样你就不需要按开关了。

Atmel芯片中的“随机”功能并不是很随机。将“天线线”添加到模拟输入有时可以改善。我也在使用照片单元格,或模拟输入上的电位器,更大序列。(2020-11-15:我添加了熵库,获得更好的随机数!下载库将其添加到您的草图中!https://github.com/pmjdebruijn/arduino-entropy-library)

这个草图应该是一个起点!得到这个工作,然后改变它一点,了解定时如何影响序列。对于更长的条带,我发现我应该减少Ipdelay.icdelay.值。吃一堑,长一智!然后你会开始观察各种各样的东西,并思考“我想知道如果添加了一些NeoPixels会是什么样子。”:-)

第五步:如果你打算使用新像素的ATtiny,请阅读本步骤。

如果你正在使用几乎任何其他Arduino板,你可以跳过这部分。

如果你想让ATtiny点亮你的NeoPixels,有几个关键步骤。我写了这个指导表,只是为了添加一个项目,指出大的重要步骤,大胆的字体!在重复自己的风险,我希望这一步包括重要的比特!

对于那些想要知道这些事情的人来说,只有一个关于Neopixels的信息。因为只有一个数据引线(除了两个电源引线),移位寄存器的所有“时钟”信息都需要和数据一起发送!因此,数据信号的上升和下降的时间是用来指示数据是0还是1,或者是将寄存器中的位锁存到LED元件上的时间。因此,用于“发送位”到输出引脚的代码有许多节,并且IDE根据您的板上的CPU速度决定在编译时使用哪个节。你可以从Adafruit的NeoPixel Uber指南(https://learn.adafruit.com/adafruit-neopixel-uberguide/overview),并通过读取WS-2812数据表(https://www.adafruit.com/datasheets/ws2812.pdf.).

**如果你的时钟速度不是8兆赫(或更快),像素库不能发送比特正确!

AVR核心的许多主要文件中都没有ATtiny板。当它被包括在内时,你通常只能选择8mhz的内部时钟速度。

你需要找到一个AVR板文件与良好的时钟和选项的ATtiny家庭。在我尝试了许多之后,我发现这是最好的,就选项和支持的Tiny芯片数量而言。https://github.com/SpenceKonde/ATTinyCore

默认情况下,ATtiny的运行频率只有1mhz.你可以上传你的代码,但是像素不会发光!除非你有示波器,否则很难看到这些定时脉冲是什么样的。我使用一个o 'scope在此为了测试我的理论,我看到从微小的脉冲的数据是更长的时间比从一个Arduino Pro迷你8 MHz,即使我选择了ATtiny85板类型,并选择了8 MHz时钟速度(内部),和16兆赫(内部)锁相环时钟速度。IDE看到选项发生了变化,它说它正在重新编译。但芯片从未改变!我花了将近两周的时间试图找到它。以下是你需要知道的!

**当你改变时钟速度(或任何芯片选项,如Brown-Out检测),首先你需要点击“BURN BOOTLOADER”在工具菜单的底部!

您*只需要在更改选项时刻录引导加载程序。它需要一个短暂的瞬间,而IDE“烧毁熔断器位”,设置这些功能的芯片,所以它总是启动到那个速度,并与那些选项设置。

在那之后,您可以返回到单击上传按钮,并对草图进行更改。

最后,考虑在同一个Arduino上用雏菊连接几颗星星。你不能在ATtiny中做太多,因为它们没有很多RAM,你需要一个数组来保存每个像素的颜色。当添加更多像素时,需要更多RAM。(并且,RGB像素每像素需要3字节,如果你使用RGBW(带有Whitre元素的像素),你需要每像素4字节!)

充分披露:使用大多数基本董事会,我们从不思考这一点。我们看到在董事会管理器中使用Pro Mini 8 MHz或Pro Mini 16 MHz的选项。我们不必设置熔丝位,我们只需点击上传,这一切都工作,因为在董事会管理器和图书馆的设置。我“确实”在一个黑客项目但我的USBtiny板的USB驱动程序不工作……所以,我试着点击了几次Burn Bootloader,什么都没有发生,所以我放弃了。一旦USB驱动程序开始工作,我就可以上传了,我不再考虑引导加载程序,因为我已经在IDE中设置了时钟速度。:-(我们中的专家可能认为大多数人都知道这个,所以他们不会问“你试过Burning The Bootloader吗?”你做的,对吧?”一旦我重新学习终于看到它提到大胆的字体在另一个项目中,我尝试了一下,我的像素点亮了!当我写下我的线索,并回顾我尝试过的许多项目时,只有少数几个提到了Burn the Bootloader,那就是我决定写这个项目的时候。)

步骤6:关于像素位置的一些想法

用浅色和颜色绘画对我来说很有意思。以下是一些要考虑的宜家星灯笼的事情。

在你做任何事情之前,先测试一下。认真对待!你想要完全按照指令来做这个,但是你应该首先在适当的地方保持几个像素,点亮字符串,看看什么看起来对你来说是好的,在你决定把像素放在下面。

* *重复:您应该考虑只制作一个2像素的链,并按原样运行草图代码(代码中有14个像素),然后看看在星星的一只手臂上哪个像素看起来最好。一旦你知道了那个位置,你就可以测量更长的电线了。

给光线留出分散的空间。当您有太靠近星的像素时,您可能会在星形臂的另一侧看到“热点”。将像素放在明星的臂的中心更近,可能看起来更好。在上面的第一张照片中(灰色星,蓝色LED和我的手指指向......)你可以看到手臂放在像素的臂上有多远,而我的手指指向我认为我应该把它们放在哪里。在粘贴像素之前,我犯了没有测试。:-(

检查材料的厚度。重要的因素是“有多少光会透过材料”,以及什么光会透过孔洞。有几个型号的宜家星灯的材料比其他的更薄,在黑暗中你可以看到电线的影子。如果你有更薄的材料,你可能想用一点热胶把你的电线沿着星臂的脊柱钉住。

在绿色星星的图片中,你可以看到这种材料是多么的半透明。(这是灰色的星星…)你也可以从电线上看到阴影。我没有给自己足够的松弛,把电线推到手臂的边缘。这颗星星是用20号规格的绞合线制作的,你用22号就可以了,用24号就可以离开了。

最后一幅图是关于这些像素能产生多少光。底部的亮条连接到我的Color Tuner项目上,像素正对着相机。有两个宜家之星(左边小,右边大。最小的星星在中心只有一个像素,面向墙壁。像素的亮度是我建议将像素放置得离洞远一点的原因,这有助于减少你直接盯着明亮的LED的频率。

第七步:挂灯的建议

宜家星灯设计用于110 VAC灯泡,其照明套件配有两个金属(厚钢棒)部件,它将握住恒星的两端。一部分较小(用于通过电线悬挂),另一部分是用于桌面或地板安装的大型金刚石(用于在杆顶部使用它)。但是,如果您没有灯泡或杆部件,这些部件也很难使用。

为了把它挂成台灯,我用了很长的USB线,我的设计灵感来自登山的“8-brake”装置。看一下尺子旁边的蓝色塑料部分。(这是我的第一个设计)通过做椭圆形的孔,电缆可以通过塑料编织。这盏灯的重量并不大,但足以在不打结或使用胶水的情况下将电缆牢牢地固定住。对角线上的凹槽是为了帮助将灯的两端固定在一起,只需要将塑料片向上滑动,让重力固定灯。这些凹槽没有我希望的那么好。

蓝色部分是我的第一个原型,星星有时不会一直膨胀,这使得把两端连在一起更难。因此,恒星的一侧经常会脱落。凹槽需要更长一些。但是,当我看着这些金属部件时,我看到它们有一个多节的末端,每个手臂的脊椎上都有一个1/4英寸的孔。(我曾经用一根电线穿过那些洞,把我的第一颗星星连在一起。)我重新设计了衣架,延长了凹槽,并添加了旋钮以适应孔。其他图像显示激光切割机制作一组大的和一组小的衣架部件。

剩下的图像显示了一个大的星星,安装了衣架,附近有一个大的衣架部分,这样你就知道衣架部分是如何工作的了。

使用USB(或5伏电源)电缆编织到吊架中,您可以使用像素将电源线连接到电路板。

*我最初的星星是用三线电缆从星星和像素连接到附近的Arduino。这也是一种实用的方法,因此您可以更容易地进行编程。

*您可以使用4线电缆挂灯泡......并将一个Arduino焊接到许多星星!这将让您使用一个程序控制所有星星的所有序列!但是,你将无法在一个有关的情况下做得很好。这是按住像素的颜色信息阵列所需的内存量的会费。

第八步:临终遗言……

这些动画可以用短而长的条带使用,只是通过调整叨叨多变的。

我发现“擦拭” - 型动画在真正长(〜150像素,5米)的条带上看起来很慢。如果您要使用更长的条带,请考虑降低icdelay.Ipdelay.全局变量。

考虑改变速度主要变量循环/两个部分彩虹功能。随机函数以较快和较慢的速度(变化率)做出选择。观察一段时间,判断它是否太快或太慢,并相应地调整限制。

如果你想破解一个动画,在注释中有一个调试部分;

序列=模式;//使用一个按钮来逐步遍历序列(注释另外两个)
/ /顺序=所击垮();//操作完全随机(注释另外两个)//序列= 1;//调试,选择你正在调试的模式,注释其他两个)

您可以简单地添加注释字符(//)在第一行的前面,并从中删除//序列= 1,然后将1更改为您想要看到的动画的数量反复地...然后上传和观看,并做笔记。调整草图,然后再上传。

如果 ”mode == 1“然后,草图是”随机全序列“,大多数动画将滚动骰子,以查看它们在移动到下一个动画序列之前,它们会重复动画的循环(每次使用随机颜色)。

随机选择部分下方找到了各种动画的代码。我希望你能阅读和学习,以及享受草图。我期待着了解一些有一天会发布您的项目。我会在评论中回答你的问题。

第一次提交人竞赛2016年

参加了
第一次提交人竞赛2016年

Arduino比赛2016年

参加了
Arduino比赛2016年

Make it Glow Contest 2016

参加了
Make it Glow Contest 2016

是第一个分享

    建议

    • 玩具游戏大赛

      玩具游戏大赛
    • 家具比赛

      家具比赛
    • 大挑战vs小挑战

      大挑战vs小挑战

    13评论

    0
    Zonkerharris.

    提示5个月前

    如果您已经在这个项目中使用过代码,那么您可能想看看新版本(v4-entropy),其中包含了Entropy库,以获得更好的随机数。如果您正在使用基本的项目代码,那么值得一看,但也许值得一看草图中的实现,以尝试将Entropy添加到您的其他草图中。

    另外,如果你想要2020年的款式,新的明星现在就在你的宜家商店里。

    0
    Zonkerharris.

    4年前

    我带着我的一位明星去了一个新的“编程女孩”小组,我们讨论了如何使用“故事”格式来描述你的程序或设备将做什么。在晚上结束的时候,他们决定每周开会两次而不是一次,这样他们可以增加一天的学习时间。:-)

    0
    Zonkerharris.

    4年前

    最后我添加了一个视频,让大家了解一些模式,并看看其中一些是怎样的(当所有操作都是独立和随机的)。新年快乐,请考虑投票给我!以上链接,在三个比赛中的任何一个。优德娱乐

    0
    puckcarrier

    4年前

    所有那些颜色模式。如此节日。

    0
    Zonkerharris.

    4年前回复

    我想有一天在我的项目中添加一些远程控制。比如IR(可以同时控制多个设备),或者wifi(可以同时控制多个设备)。我更喜欢本地控制,而不是依赖付费云服务。也许用树莓派作为家庭中心会是一个很好的平衡?
    //www.smiletrl.com/id/ikea-tar-with-attiny-and-neopixels/

    0
    CoolCrafter101.

    4年前

    我妈妈对这些东西很着迷。哈哈

    0
    gwfong

    4年前

    很好。大量有用的信息。

    0
    Nerdforge

    4年前

    酷项目,非常详细的指导!保持 :)