步驟1:準備木制框架
您可以按照您希望的任何方式構建框架或外殼。我選擇木材是因為僅需使用基本工具即可輕松完成工作。
我已使用一些已打撈過的木板來搭建框架。我在長度為30厘米的木板上標記了4個干凈的零件,并確保在接頭處標記45度斜角。
我用曲線鋸進行了所有切割,一切正常。如果您可以使用斜切鋸或臺鋸,則可以使用它們并獲得更好的效果。聯接不是完美的,但是使用我的皮帶砂光機,我可以使零件很好地適合。
在測試配合過程中,我意識到它們太寬了,并且它們會在外殼內部占用很多空間,因此我決定將它們切成2厘米的寬度。再次,我用曲線鋸確保不要在線內切割。
斜接連接本身并沒有太多的支撐,因此我將三角形的小塊切成小塊,以補充一些支撐。我敢肯定,這里有很多更好的選擇,但這是我目前的最佳想法。
我在接縫的中間用木膠連接了斜接器,在末端使用了CA膠,以便充當夾子并在木膠固化時將其固定到位。僅使用CA膠將小的支撐三角形膠粘到位,以使過程更快。
步驟2:對電路進行原型制作
內部燈光顯示的電子設備包括一個帶麥克風的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
總的來說,我對此感到非常高興。如果我擁有適當的木工工具,則外殼可能會更好一些,但它仍然是不錯的墻壁裝飾。自從我建造它以來,我們和孩子們在一起玩得很開心,但是現在該找一個新家了。
-
Arduino
+關注
關注
188文章
6477瀏覽量
187594
發布評論請先 登錄
相關推薦
評論