資料介紹
描述
你能給聚會帶來光明,讓它變得更有趣嗎?
這就是問題所在。答案是肯定的(當(dāng)然)。
本教程是關(guān)于制作一個可聽音樂的便攜式設(shè)備,并使用 NeoPixel LED 的同心環(huán)創(chuàng)建音樂可視化。
試圖讓設(shè)備“跳舞”,即隨著音樂的節(jié)拍移動,但事實(shí)證明節(jié)拍檢測比聽起來更復(fù)雜(不是雙關(guān)語),所以“跳舞”有點(diǎn)尷尬,但仍然存在。
該設(shè)備支持藍(lán)牙,并將響應(yīng)文本命令。我沒有時間編寫應(yīng)用程序來控制派對燈(Android 或 iOS)。如果你能勝任這項(xiàng)任務(wù) - 請告訴我?。。?/font>
如果您喜歡本教程,請在Make It Glow比賽中投票!
補(bǔ)給品:
要構(gòu)建派對燈,您將需要:
- STM32F103RCBT6 Leaflabs Leaf Maple Mini USB ARM Cortex-M3 Module for Arduino(鏈接在這里)-設(shè)備的大腦。這些相對便宜的設(shè)備非常強(qiáng)大,不清楚你為什么會回到 Arduino。
- MSGEQ7頻段圖形均衡器 IC DIP-8 MSGEQ7(鏈接在這里)
- HC-05或HC-06藍(lán)牙模塊(鏈接在這里)
- Adafruit MAX9814麥克風(fēng)(鏈接在這里)
- 一個標(biāo)準(zhǔn)的伺服電機(jī)(鏈接在這里)是你想讓你的設(shè)備“跳舞”
- CJMCU 61位WS2812 5050 RGB LED驅(qū)動開發(fā)板(鏈接在這里)
- TTP223觸摸按鍵模塊電容式可設(shè)置自鎖/無鎖開關(guān)板(鏈接在這里)
- 超緊湊5000-mah雙 USB 輸出超薄移動電源(鏈接在這里)
- 電阻、電容、電線、膠水、螺絲、原型板等。
第 1 步:想法
這個想法是有一個便攜式設(shè)備,可以放置在靠近音樂源的地方,這將創(chuàng)建豐富多彩的音樂可視化。您應(yīng)該能夠通過按鈕(觸摸)和藍(lán)牙控制設(shè)備行為。
目前,Party Lights 實(shí)現(xiàn)了 7 個可視化(如果您有更多想法,請告訴我?。?/font>
- 同心彩色圓圈
- 馬耳他十字
- 脈動燈
- 壁爐(我個人最喜歡的)
- 行車燈
- 光樹
- 橫向段
默認(rèn)情況下,設(shè)備將每分鐘循環(huán)一次可視化。但是,用戶可以選擇堅持使用一種可視化和/或手動循環(huán)瀏覽它們。
如果用戶喜歡特定的顏色組合,則旋轉(zhuǎn)其調(diào)色板的可視化也可能被“凍結(jié)”。
作為更多控制,用戶可以更改麥克風(fēng)靈敏度并啟用/禁用伺服電機(jī)“跳舞”模式。
第 2 步:原理圖和聲音處理
一個fritzing原理圖文件包含在Github上的“files”子文件夾中。
基本上,MSEQ7 芯片進(jìn)行音頻處理,將音頻信號分成 7 個頻段:63Hz、160Hz、400Hz、1kHz、2.5kHz、6.25kHz 和 16kHz
微控制器使用這 7 個波段來創(chuàng)建各種可視化,基本上將各自的波段幅度映射到 LED 光強(qiáng)度和顏色組合。
聲源是具有 3 級增益控制的麥克風(fēng)。您可以根據(jù)聲源的遠(yuǎn)近/響亮,使用其中一個按鈕循環(huán)切換增益設(shè)置。
微控制器還嘗試在 63Hz“低音”頻帶上執(zhí)行“節(jié)拍”檢測。我仍在研究一種可靠的方法來檢測和保持節(jié)拍對齊。
“觸摸”按鈕的使用是一項(xiàng)實(shí)驗(yàn)。我認(rèn)為它們工作得很好,但是,缺乏新聞反饋有點(diǎn)令人困惑。
第 3 步:LED 輪
可視化的核心是一個 61 LED 輪。
請注意,這部分是單獨(dú)的戒指,您必須將它們放在一起。我寧愿認(rèn)為銅線用于電源線(也可以很好地將環(huán)固定在一起)和細(xì)信號線。
LED 編號為 0 到 60,從底部外部 LED 開始,順時針向內(nèi)。中心 LED 為 60 號。
每個可視化都依賴于二維數(shù)據(jù)陣列,將每個 LED 映射到目標(biāo)可視化段的特定位置。
例如,對于同心圓,有 5 個段:
- 外圈,LED 0 - 23, 24 LED 長
- 第二個外圈,24 - 39 個 LED,16 個 LED 長
- 第三個圓圈(中心),LED 40 - 51,12 個 LED 長
- 第二個內(nèi)圈,LED 52 - 59,8 個 LED 長
- 內(nèi)部 LED, LED 60, 1 LED 長
可視化映射了 7 個音頻通道中的 5 個,并根據(jù)它們在圓形頻帶中的位置與頻帶中的聲音級別成比例地逐漸點(diǎn)亮 LED。
其他可視化使用不同的數(shù)據(jù)結(jié)構(gòu)和格式,但想法始終是由數(shù)據(jù)數(shù)組驅(qū)動可視化,而不是由代碼驅(qū)動。通過這種方式,可以將可視化調(diào)整為不同的形狀(更多或更少的 LED,更多的 EQ 波段),而無需更改代碼,只需更改數(shù)據(jù)數(shù)組中的值。
例如,這是可視化 1 的數(shù)據(jù)結(jié)構(gòu)在草圖中的樣子:
// Visualization 1 & 3 - full 5 circles
const byte TOTAL_LAYERS1 = 5;
const byte LAYERS1[TOTAL_LAYERS1][25] = {
//00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
{ 24, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 },
{ 16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 },
{ 12, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51 },
{ 8, 52, 53, 54, 55, 56, 57, 58, 59 },
{ 1, 60 }
};
第 4 步:可視化
到目前為止,有 7 個可視化和一個啟動動畫:
開機(jī)動畫
當(dāng)設(shè)備打開時,會顯示模仿煙花。這應(yīng)該是一個 LED 和伺服測試序列,但后來演變成此類測試的動畫版本
同心彩色圓圈
燈光以與相應(yīng) eq 波段的幅度成比例的同心圓環(huán)繞顯示屏。在順時針和逆時針之間隨機(jī)切換,并在 256 色輪上緩慢旋轉(zhuǎn)顏色
馬耳他十字
一個波段是中心 LED。另一個波段是 LED 的垂直和水平線,其余部分代表每個 EQ 波段。所有段都在 128 偏移中旋轉(zhuǎn)顏色以保持對比度。
脈動燈
每個圓圈為一個專用的 eq 波段一致地點(diǎn)亮所有 LED,同時緩慢旋轉(zhuǎn)顏色并略微偏移。EQ 頻段逐漸從一個圓圈移動到下一個圓圈,從而產(chǎn)生向外的進(jìn)展。
壁爐
這些帶是從底部到頂部點(diǎn)亮的半圓形,從鮮紅色開始,然后在上升的過程中添加黃色,模擬壁爐中燃燒的火焰。偶爾明亮的白色“火花”會隨機(jī)射出。沒有顏色旋轉(zhuǎn)
行車燈
每個同心圓都是一個單獨(dú)的 EQ 頻段。領(lǐng)先的 LED 是位于中心 LED 下方垂直線上的 LED。一旦 LED 點(diǎn)亮與波段幅度成正比,它就會開始圍繞相應(yīng)的圓圈“運(yùn)行”,強(qiáng)度逐漸降低。支持時鐘和逆時針旋轉(zhuǎn),隨機(jī)切換。
光樹
這些部分從底部 LED 以一條直線向上點(diǎn)亮,然后以同心半圓形向側(cè)面點(diǎn)亮,模仿棕櫚樹。顏色旋轉(zhuǎn)。
橫向段
這是以前馬耳他十字的一個版本,僅使用了 2 個對角線段。應(yīng)該類似于聲波的圖標(biāo)。
第 5 步:觸摸按鈕控件
有 4 個觸摸感應(yīng)按鈕:
- 循環(huán)顯示可視化并保持當(dāng)前的狀態(tài),直到選擇另一個(默認(rèn)情況下,可視化每 30 秒循環(huán)一次)
- “凍結(jié)”/“解凍”當(dāng)前配色方案 - 如果您喜歡特定的顏色組合,您可以將其凍結(jié) - 顏色旋轉(zhuǎn)被禁用,可視化將繼續(xù)使用此調(diào)色板
- 調(diào)整麥克風(fēng)靈敏度
- 打開/關(guān)閉“跳舞模式”
在跳舞模式下,設(shè)備會嘗試檢測當(dāng)前播放音樂的“節(jié)拍”,并根據(jù)節(jié)拍轉(zhuǎn)動頭部。說實(shí)話,到目前為止,“跳舞”不是很漂亮,而是尷尬。
第 6 步:節(jié)拍檢測和伺服“跳舞”
該設(shè)備不斷嘗試將當(dāng)前曲調(diào)的“節(jié)拍”檢測為 63Hz 頻帶的連續(xù)峰值之間的距離。一旦檢測到(并且僅在舞蹈模式打開時),設(shè)備將激活其伺服電機(jī)根據(jù)節(jié)拍隨機(jī)向左或向右轉(zhuǎn)動。
歡迎任何關(guān)于如何使其更可靠的好主意!
“Music_Test_LED”草圖以適合使用 Arduino IDE 繪圖的方式輸出 7 個 EQ 頻段。
第 7 步:3D 形狀
整個派對燈組件是使用 Autodesk TinkerCAD 從頭開始??設(shè)計的。
原始設(shè)計位于此處。github.com 上的“files/3D”文件夾包含 STL 模型。
此設(shè)計說明了設(shè)備的組裝方式。
所有組件都經(jīng)過打印,然后組裝/粘合在一起。
“圓頂”承載著微控制器、藍(lán)牙板和麥克風(fēng)。微控制器放置在 40 毫米 x 60 毫米板上,并由指定的導(dǎo)軌支撐。
伺服系統(tǒng)位于圓頂?shù)摹巴取敝?,而按鈕位于底座中。
電池倉專為耗材部分中提到的電池類型而印刷。如果您選擇使用不同的電池,隔間將不得不進(jìn)行相應(yīng)的重新設(shè)計。
第 8 步:電源
一個超緊湊的 5000 毫安雙 USB 輸出超薄移動電源似乎提供了足夠的電力運(yùn)行數(shù)小時。
電池盒的設(shè)計使其與設(shè)備的其余部分分離,并且可以更換為專為不同類型電池設(shè)計的電池盒。
USB 插頭已定位并熱粘合到位,以便在電池滑入時連接電池。
第 9 步:藍(lán)牙控制
添加了一個 HC-05 模塊以提供一種無線控制設(shè)備的方法。
打開時,設(shè)備會創(chuàng)建一個名為“ LEDDANCE ”的藍(lán)牙連接,您可以將其與手機(jī)配對。
理想情況下,應(yīng)該有一個允許控制 PartyLights 的應(yīng)用程序(選擇調(diào)色板、模擬按鈕按下等)。然而,我還沒有寫過一篇。
如果您有興趣幫助為 Party Lights 編寫 Android 或 iOS 應(yīng)用程序,請告訴我!
控制設(shè)備,目前可以使用藍(lán)牙終端應(yīng)用,發(fā)送如下命令:
LEDDSTAT - 返回一個由 '0' 和 '1' 組成的 3 字符數(shù)字:
- 第一個位置:'0' - 顏色不旋轉(zhuǎn),'1' - 顏色正在旋轉(zhuǎn)
- 第二個位置:'0' - 跳舞模式關(guān)閉,'1' - 跳舞模式開啟
- 第三個位置:'0' - 麥克風(fēng)處于正常增益,'1' - 麥克風(fēng)處于高增益
- LEDDBUTT n - 其中n為“1”、“2”、“3”或“4”模擬按下相應(yīng)按鈕。例如:LEDDBUTT1
- LEDDCOLR c - 其中c是從 0 到 255 的數(shù)字 - 色輪上所需顏色的位置。設(shè)備將切換到指定的 LED 顏色。
第十步:基于Blynk控制App
Blynk ( blynk.io ) 是一個與硬件無關(guān)的物聯(lián)網(wǎng)平臺。我在我的物聯(lián)網(wǎng)自動植物灌溉系統(tǒng)教程中使用了 Blynk,對該平臺的易用性和穩(wěn)健性印象深刻。
Blynk 支持通過藍(lán)牙連接到邊緣設(shè)備——這正是 PartyLights 所需要的。
如果您還沒有,請下載Blynk 應(yīng)用程序,使用此步驟附帶的屏幕截圖注冊并重新創(chuàng)建 Blynk PartyLights 應(yīng)用程序。請確保虛擬引腳分配與屏幕截圖上的相同,否則應(yīng)用程序上的按鈕將無法按預(yù)期工作。
文件“ blynk_settings.h ”包含我個人的 Blynk UID。當(dāng)你創(chuàng)建你的項(xiàng)目時,它會被分配一個新的供你使用。
上傳PartyLightsBlynk.ino草圖,啟動應(yīng)用程序。與藍(lán)牙設(shè)備配對,享受派對。
第 11 步:草圖和庫
主要草圖和支持文件位于 Github.com上。
Party Lights 草圖中使用了以下庫:
- TaskScheduler - 協(xié)作式多任務(wù)處理 -在這里(由我開發(fā))
- AverageFilter - 模板化平均過濾器 -在這里(由我開發(fā))
- Servo - 伺服控制 - 是一個標(biāo)準(zhǔn)的 Arduino 庫
- WS2812B -NeoPixel 控制 - 作為 STM32 封裝的一部分
此Wiki 頁面解釋了如何將 STM32 板與 Arduino IDE 一起使用。
第 12 步:未來的改進(jìn)
在這個設(shè)計中可以改進(jìn)一些事情,如果你開始這個項(xiàng)目,你可能會考慮:
- 使用ESP32代替 Maple Mini 板。ESP32 有 2 個 CPU、藍(lán)牙和 WiFi 堆棧,可以運(yùn)行在 60MHz、120MHz 甚至 240MHz。
- 更小的設(shè)計——由此產(chǎn)生的設(shè)備很大。可能更緊湊(特別是如果你放棄跳舞的想法和相關(guān)的伺服)
- 節(jié)拍檢測可以無限改進(jìn)。對我們?nèi)祟悂碚f自然而然的事情,對計算機(jī)來說似乎是一項(xiàng)艱巨的任務(wù)
- 可以設(shè)計和實(shí)施更多的可視化。
- 而且,當(dāng)然,可以編寫一個應(yīng)用程序來通過一個很酷的 UI 無線控制設(shè)備。
- 如何制作便攜式可充電輔助揚(yáng)聲器
- 制作便攜式PONG游戲
- 制作您自己最便宜的便攜式筆記本
- 如何在家制作便攜式空調(diào)
- 便攜式LED燈制作
- 便攜式自動割膠機(jī)器人設(shè)計方案 18次下載
- 高性能便攜式醫(yī)療設(shè)備技術(shù)
- 用D/A轉(zhuǎn)換器優(yōu)化便攜式應(yīng)用 6次下載
- 便攜式DSP設(shè)計中動態(tài)電壓縮放的節(jié)能方案 5次下載
- 便攜式電池系統(tǒng) 10次下載
- 在便攜式醫(yī)療設(shè)備的心跳 6次下載
- 用于便攜式設(shè)備USB 2.0高速設(shè)計的模擬開關(guān)
- 使用HARFANG的X-32便攜式相控陣設(shè)備
- 超聲便攜式設(shè)備的系統(tǒng)劃分
- 便攜式應(yīng)用IC
- 藍(lán)牙低功耗技術(shù)在便攜式醫(yī)療設(shè)備中的應(yīng)用研究 2180次閱讀
- 便攜式醫(yī)療電子設(shè)備的應(yīng)用挑戰(zhàn)及解決方案 3266次閱讀
- 選用便攜式UPS電源的原因盤點(diǎn) 970次閱讀
- digilent適便攜式電路實(shí)驗(yàn)室介紹 2367次閱讀
- 怎樣解決便攜式設(shè)備的充電煩惱 1123次閱讀
- 便攜式吉他游戲機(jī)diy圖解 3447次閱讀
- 選擇與應(yīng)用好便攜式電子設(shè)備中電池技術(shù)的研究 2759次閱讀
- 便攜式醫(yī)療設(shè)備解析 7775次閱讀
- Freescale提供設(shè)計便攜式導(dǎo)航設(shè)備系統(tǒng)解決方案 1242次閱讀
- 便攜式和汽車壓縮音頻和視頻解決方案 1174次閱讀
- 便攜式設(shè)備中的電源效率 1311次閱讀
- 便攜式全頻段調(diào)頻接收機(jī)的制作 3896次閱讀
- 如何為便攜式設(shè)備設(shè)計高效的DC/DC轉(zhuǎn)換器 904次閱讀
- 便攜式醫(yī)療電子設(shè)備的無線監(jiān)測技術(shù) 1350次閱讀
- 便攜式校準(zhǔn)器電路圖 2908次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多