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