基于Arduino的灯光秀

电子说

1.3w人已加入

描述

步骤1:准备木制框架

您可以按照您希望的任何方式构建框架或外壳。我选择木材是因为仅需使用基本工具即可轻松完成工作。

我已使用一些已打捞过的木板来搭建框架。我在长度为30厘米的木板上标记了4个干净的零件,并确保在接头处标记45度斜角。

我用曲线锯进行了所有切割,一切正常。如果您可以使用斜切锯或台锯,则可以使用它们并获得更好的效果。联接不是完美的,但是使用我的皮带砂光机,我可以使零件很好地适合。

在测试配合过程中,我意识到它们太宽了,并且它们会在外壳内部占用很多空间,因此我决定将它们切成2厘米的宽度。再次,我用曲线锯确保不要在线内切割。

斜接连接本身并没有太多的支撑,因此我将三角形的小块切成小块,以补充一些支撑。我敢肯定,这里有很多更好的选择,但这是我目前的最佳想法。

我在接缝的中间用木胶连接了斜接器,在末端使用了CA胶,以便充当夹子并在木胶固化时将其固定到位。仅使用CA胶将小的支撑三角形胶粘到位,以使过程更快。

步骤2:对电路进行原型制作

Arduino

内部灯光显示的电子设备包括一个带麦克风的Arduino Uno板从坏掉的耳机听房间里的声音,然后通过点亮内部5个led灯条之一来反映总音量。

该电路由两个独立的部分组成。第一部分是带有单晶体管放大器的麦克风,第二部分是LED灯带的驱动器。我们需要它们,因为Arduino和麦克风放大器的工作电压为5V,而LED灯带的工作电压为12V。

麦克风通过10k电阻并通过电容器连接到Arduino的5V输出晶体管的然后,晶体管以2.5V的中间电平放大信号,因此我们可以在Arduino的模拟输入A0上拾取它。

为了打开LED的12V,晶体管的基极通过10k电阻器连接到数字输出,并且同一电路重复5次。我在每个部分只打开3个LED,所以我可以不用晶体管了。如果您想修改项目以使用更长的带材,则需要使用一些MOSFET。

尽管它看起来像是一个复杂的电路,但实际上确实是一个非常简单的电路。我已经在试验板上进行了全部测试,并确保可以正常工作后,我建立了一个屏蔽板,可以直接安装在Arduino Uno上。

可从以下网址获得原理图:

https ://easyeda.com/bkolicoski/Arduino_Light_Show-506c62032b0646ae8e1636519d0d17fc

第3步:构建Arduino Shield

一旦我对电路感到满意,我就在穿孔板上为Arduino搭建了一个防护罩。您可以在附件的视频中看到该项目的完整构建过程。

第4步:编写Arduino

该项目的明星是编程到Arduino上的代码。这就是繁重的工作,需要分析麦克风中的声音并将其转换为跟随音乐的可见光。您可以从我的GitHub页面下载整个代码,并可以在视频说明中找到指向该链接的链接以及电子原理图。

简而言之,该代码包含三个主要部分:检索示例进行音乐分析,确定声级,然后根据计算出的值控制向LED的输出。我知道这对某些人来说听起来像是火箭科学,但是一旦掌握了一切,这真的很容易。

开始时的草图定义了我们将使用的所有变量和常量。我确保为他们每个人提供一个解释,以便您可以更轻松地理解它。此后,我们具有设置功能,该功能可以出于调试目的启动串行通信,清空并初始化用于峰峰值检测的阵列,并定义LED的输出。

在代码的循环部分,我们首先开始对音频进行采样,以便可以检测出峰到峰的音量。在常规声波中,没有任何噪声是放大器可以产生的最小和最大电压的中点。在我们的例子中是2.5V。

一旦检测到声音,我们就会得到一个向上和向下移动的波,以便检测高噪声,我们会对该波的组合振幅感兴趣。因此,我们以移动状态将值从0映射到最大值,而不是移动波,以轻松区分高音量和低音量的声音。

代码的以下两个部分正是这样做的:我们测量峰到峰的幅度,并确定该时间段内该峰的最大值。麦克风的工作方式越远,您可以选择的音量就越小,因此我们需要计算一个系数,该系数将放大或减小所测量的信号,并且在不同的电平上具有相同的反应。

最后一步,我们将麦克风的测量值乘以我们刚刚计算的因子,然后根据结果打开特定的LED。

在电路板全部焊接完之后按照示意图,我确保在继续准备实际专辑封面之前先对其进行测试。

GitHub上的代码:

https://github.com/bkolicoski/arduino-light-show

步骤5:准备封面

在这件作品的前面,我用了一块透明的丙烯酸。我将印刷的艺术品切成一定尺寸,并在表面上涂了一层透明的木胶,而丙烯酸没有保护盖。如果您可以使用Mod Podge或某些透明的丙烯酸凝胶介质,则最好使用它来代替木胶,但效果几乎相同。

应用图像时的技巧是不要像我一样使用过多的胶水,以免在纸上产生皱纹。在这种情况下,越少越好,但必须完全覆盖表面。在胶水仍然湿润的情况下,几乎看不见艺术品,但是在完全干燥后,艺术品会变成透明的。

我离开框架进行固化24小时,然后确定了Arduino在框架内的位置。我希望将艺术品挂在墙上,并且由于需要插入电源,因此我将板子安装在底侧,以便电源适配器的电线从墙上的插座中拔出。

我用钢锯去除了大部分材料,然后用凿子和锉刀完成了工作。如果您有手动铣刨机,那将比凿子快很多。我还在框架上钻了一个孔,以便麦克风可以伸出来并拾取房间中的声音。

在完成之前,我先将框架打磨到240粒度的砂纸,然后再涂上一层木器漆。我用一块布擦拭了污渍,然后过了一段时间。

步骤6:组装灯光秀

框架的厚度不足以将所有电子设备固定到位因此,我已经在框架的两侧切割并粘合了两层5mm黑色XPS泡沫绝缘材料。除了为所有电子设备腾出空间之外,泡沫还使该产品从侧面看起来更加美观。

所有的电子组件都使用热胶从麦克风开始安装,然后从Arduino主主板开始安装在框架内。

在背面,我已标记并切割了一张纸3毫米高密度纤维板的一面为白色,可作为支撑板和反光板。我已经用3.5 x 16毫米的小螺丝从背面固定了它。然后,我从LED灯条上的胶水上取下了衬板,然后将其粘贴到纤维板上。

亚克力正面也用相同的16mm螺丝固定,但我用6mm钻头埋入了螺丝孔,以便它们与正面齐平。如果您有a刨机,则可以在框架上开槽,然后用这种方法将丙烯酸树脂包起来。

最后,仅需从丙烯酸片材上去除另一个保护层,并对其进行全部测试以确保其仍能正常工作即可。要将其挂在墙上,我在背面的两个熨平板之间添加了一根绳子。

第7步:欣赏Arduino Light Show

总的来说,我对此感到非常高兴。如果我拥有适当的木工工具,则外壳可能会更好一些,但它仍然是不错的墙壁装饰。自从我建造它以来,我们和孩子们在一起玩得很开心,但是现在该找一个新家了。

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

全部0条评论

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

×
20
完善资料,
赚取积分