資料介紹
描述
我對可尋址的“Neopixel”RGB LED 的可能性很感興趣。我想學習如何控制它們并在具有挑戰(zhàn)性的項目中使用它們。我讀過一些使用 LED 陣列和矩陣來表示音頻頻譜的項目,就像圖形均衡器上的照明顯示器一樣。
我想到了一些不同的東西。一個垂直的 LED 串怎么樣,低頻在底部,高頻在頂部,每個頻段的幅度會顯示為每個 LED 的亮度?然后音樂將沿著這條弦“跳動”。我當然不是第一個想到或執(zhí)行它的人,但我還沒有看到這個特定的應用程序。
如果 LED 的亮度由音樂控制,LED 的顏色可以由設備的用戶設置嗎?
這個怎么運作
該設備的電路和代碼以兩種模式運行。這些模式是通過前面板右側的模式開關選擇的。當模式開關在左側位置時,顏色設置模式被激活。
顏色設置模式允許用戶使用 5 個電位器設置 LED 燈條的顏色范圍。具體來說,從左到右,電位器調整:
1.數值——LED燈帶的整體亮度
2. 飽和度 - 此設置逐漸在鮮艷的色彩和純白色之間轉換色調
3. 頂部色調 - 指定 LED 燈條頂部的色調(顏色)
4. 底部色調 - 指定 LED 燈條底部的色調(顏色)
當 LED 燈帶包含多個 Hue 時,顏色順序始終遵循色譜的順序:紅色、橙色、黃色、綠色、藍色、紫色。
要為整個 LED 燈條選擇一個色調,只需將頂部色調和底部色調電位器放在相同的位置。
5. Spread - 控制色相沿 LED 燈條的分布范圍,從集中在中間到“聚集”在兩端。
我使用色相、飽和度和值 (HSV) 顏色模型來控制 LED,而不是 RGB 參數,因為 HSV 直接產生我想要的效果。本文解釋并比較了 HSV 和 RGB 顏色模型。幸運的是,代碼中使用的 Adafruit Neopixel 庫同時支持 RGB 和 HSV。
當模式開關處于右側位置時,F(xiàn)FT 模式被激活。在這種模式下,電位器被禁用。
FFT(快速傅立葉變換)模式接受來自音樂播放器耳機連接的輸入。使用 FFT,它計算每個頻帶的 HSV 設置的值(亮度)部分。然后它將這個值參數與用戶選擇的顏色組合起來,并將它們發(fā)送到適當的 LED。本文對傅里葉變換進行了簡單易懂的解釋。實際的計算超出了我的想象,但慷慨的 Arduino 社區(qū)再次以 ArduinoFFT 庫的形式提供了救援。
電路
電路原理圖
![poYBAGNkWfqADy-ZAAFMRYhHfSY975.png](https://file.elecfans.com/web2/M00/77/76/poYBAGNkWfqADy-ZAAFMRYhHfSY975.png)
在此圖中,標記為 Arduino Nano (Rev3.0) 的設備實際上是一個 Arduino Nano Every。
標有電壓調節(jié)器 5V 的設備實際上是一個 5V 降壓轉換器。9VDC 墻上適配器通過其 Vin 引腳為 Nano 供電,并為降壓轉換器供電。降壓轉換器的作用是為 LED 燈條提供 5V 電源。Nano 通過引腳 D3 與 LED 燈條通信。
我使用了這個項目中詳述的音頻輸入電路(在圖的左上角):
該電路使用 Nano 的 REF 和 3.3V 引腳,并饋入 A0 模擬輸入。
五個電位器用于設置 LED 燈條的顏色和顏色范圍。代碼部分描述了這五種設置。它們由 Nano 的模擬輸入 A1 到 A5 讀取。
模式開關用于選擇顏色設置或 FFT 模式。開關位置在 Nano 的 D2 引腳上讀取。
Fritzing 文件可在下面的原理圖部分下載。
面包板組裝
![pYYBAGNkWf2AX8fuAAPS5IThiEo586.png](https://file.elecfans.com/web2/M00/78/08/pYYBAGNkWf2AX8fuAAPS5IThiEo586.png)
我為那些想像我一樣探索和修改電路的人提供了這張圖。面包板也是測試代碼和所有組件的最不令人沮喪的方式。Fritzing 文件可在下面的原理圖部分下載。
同樣,看起來像穩(wěn)壓器的設備實際上是一個 5V 降壓轉換器。表示為 Arduino Nano(Rev3.0)的控制器實際上是 Arduino Nano Every。所有紅線承載 5V,橙色線承載 9V,黑線接地。
原型板和盒子組裝
![pYYBAGNkWgCAHD4MAAINgLuYxPk646.png](https://file.elecfans.com/web2/M00/78/08/pYYBAGNkWgCAHD4MAAINgLuYxPk646.png)
該圖可在下面的“原理圖”部分下載。圖示的板比我使用的板大,但它讓我能夠更清楚地說明布局。
![poYBAGNkWgWAe5dCAAupJj4bh8Y610.jpg](https://file.elecfans.com/web2/M00/77/76/poYBAGNkWgWAe5dCAAupJj4bh8Y610.jpg)
通過豎起電阻器并將穿孔中的一些連接加倍,我能夠將組件擠壓到 7cm x 3cm 板上。它非常適合我選擇的外殼,有足夠的空間可供使用。
Nano 的位置使其 USB 連接器略微懸垂在電路板邊緣。我在外殼上切了一個檢修孔,我可以通過它連接 USB 電纜。這讓我可以在不移除 Nano 的情況下重新編程。
我最初使用橡膠粘合劑將 Nano 直接放置在板上,直到焊點將其固定到位。
我決定在電路板和面板安裝組件之間安裝 JST 連接器。對于原型而言,這似乎過于熱心,但有時間,我只是想熟悉這些連接器。我也懷疑我最終會想要重新安排一些事情。
![pYYBAGNkWgyAK3ypAAwhiUwTF0E132.jpg](https://file.elecfans.com/web2/M00/78/08/pYYBAGNkWgyAK3ypAAwhiUwTF0E132.jpg)
我在“定制零件和外殼”部分包含了我的施工圖。這些可以節(jié)省您測量、定位和安裝組件的時間。您還可以使用它們打印控件的符號。
![poYBAGNkWhGAEzO-AAfPgEemQb8054.jpg](https://file.elecfans.com/web2/M00/77/76/poYBAGNkWhGAEzO-AAfPgEemQb8054.jpg)
這張照片顯示了 LED 柱組件的底座。該項目要求 LED 燈條包含 29 個 LED。LED燈條的背面是自粘的,所以我把它粘在一塊1/2”x1/8”的鋁條上。我想擴散 LED 的光,我想到了氯丁橡膠管。它通常具有半透明的白色。我發(fā)現(xiàn)這種內徑為 12 毫米的管子非常適合燈條和 LED 燈條。光線尚未擴散到我喜歡的程度,我將嘗試使用其他材料。我的大女兒,一位藝術家,建議使用聚酯薄膜。
編碼
我?guī)缀踉诿恳恍写a中都添加了注釋,以便在我學到的時候向自己解釋。所以在這里,我將更籠統(tǒng)地描述它。
與 LED 燈條通信
該代碼使用 Adafruit NeoPixel 庫與 LED 燈條進行通信。以下是圖書館和圖書館用戶指南的鏈接。
主循環(huán)的結構
主循環(huán)分為兩個循環(huán);顏色設置循環(huán)和 FFT 循環(huán)。模式開關的位置決定了哪個循環(huán)處于活動狀態(tài)。循環(huán)由讀取開關位置的“while”語句控制。
void loop()
while (digitalRead(modeSwitchPin)==LOW){
//Colour Setting code goes here because the mode switch is in the LOW (Colour Set) position.
}
//FFT code goes here because the mode switch is in the HIGH (FFT) position, outside “while” loop.
//If the mode switch is moved to LOW (Colour Set), reset Nano to re-initialize variables and memory.
if (digitalRead(modeSwitchPin)==LOW){
resetFunc();
}
}
當模式開關處于顏色設置位置 (LOW) 時,顏色設置代碼將保持循環(huán)。
只要將模式開關撥到 FFT 位置 (HIGH),“while”循環(huán)就會中斷,F(xiàn)FT 代碼就會開始循環(huán)。
當模式開關再次輕彈到顏色設置位置時,軟復位功能被激活,重新初始化 Nano 并允許顏色設置代碼再次開始循環(huán)。
我包含了軟重置功能,因為顏色設置代碼在 FFT 代碼運行后拒絕運行。我不知道為什么會發(fā)生這種情況,但是軟重置有效。
發(fā)送到 LED 燈條的所有指令都采用 RGB 標準的格式 strip.setPixelColor()。但是,我選擇使用 HSV 參數設置顏色,然后將它們轉換為 RGB。
顏色設置模式:傳播調整
這個特性需要一些解釋。我添加了這個調整,因為我想改變沿 LED 燈帶的色調分布,從集中在中間到“聚集”在兩端。我將 sigmoid 曲線(也稱為 s 曲線)公式應用于色調范圍。
k=analogRead(kPin); //read k pot, 0-1023
該行讀取Spread 電位器的位置。
hueSig[i] = hueMax/(1+(pow(2.718,(0-(k/4000000))*(hue-(hueMax/2))))); //apply s-curve
在這條線中,Spread 電位器 (k) 的值用于調整 S 形曲線的斜率,從而改變每個 LED 的色調。然后每個 LED 的色調變?yōu)?hueSig[i]。順便說一句,我通過實驗得出了 4000000 的值。
本文解釋了 sigmoid 曲線。我在文章的開頭使用了基本方程。
FFT 模式
我當然沒有在這里發(fā)明任何東西。感謝 Chris Parker 分享他的設計和代碼。我還借鑒了Arduino FFT 庫文檔中的示例。
- 使用Arduino制作32波段音頻頻譜分析儀/可視化儀
- 基于樹莓派的音頻頻譜圖可視化設備 3次下載
- 超簡單的音樂頻譜可視化器
- 使用Raspberry Pi的音頻可視化器
- RGB 32波段音頻頻譜展示臺
- Python數據可視化編程實戰(zhàn) 29次下載
- 基于HONSOR的3D可視化智慧檔案館白皮書 20次下載
- 綜述知識圖譜的數據模型和可視化技術 4次下載
- 綜述知識圖譜的數據模型和可視化技術 16次下載
- 教育大數據可視化分析研究的綜合分析 108次下載
- 衛(wèi)星載荷可視化仿真分析平臺設計方案 32次下載
- 柔性動態(tài)可視化在醫(yī)學圖像可視化中應用 0次下載
- 單片機實現(xiàn)音頻頻譜顯示的快速算法研究 12次下載
- 基于現(xiàn)場總線技術的可視化監(jiān)控冗余系統(tǒng)
- VegaGIS可視化系統(tǒng)的設計和實現(xiàn)
- 使用樹莓派Pico開發(fā)板制作實時音頻光譜圖可視化器 2075次閱讀
- 幾款好用的可視化工具推薦 1214次閱讀
- 詳解圖形繪制和可視化 790次閱讀
- 啟動仿真軟件WinCC Runtime Advanced測試可視化功能 7615次閱讀
- 如何利用樹莓派的手勢控制全息音頻可視化器 2433次閱讀
- 為什么要可視化圖 大規(guī)模圖可視化攻略方案 4626次閱讀
- 外置式音頻頻譜顯示器電路 7170次閱讀
- 堡盟推出新款VeriSens XF系列視覺傳感器可自動實現(xiàn)3D識別與可視化 1368次閱讀
- 如何把握設計與功能之間的平衡,創(chuàng)建出簡潔直觀的可視化圖像? 3187次閱讀
- 如何對MCU程序中的數據進行可視化 6039次閱讀
- 數據可視化,不僅僅是統(tǒng)計圖表 6160次閱讀
- 實現(xiàn)海量數據分析及可視化的簡便方法 5124次閱讀
- CNN可視化理解的最新綜述 1.1w次閱讀
- 可視化策略的數據分析 4463次閱讀
- 基于MSP430的FM音頻頻譜分析儀的設計方案 3308次閱讀
下載排行
本周
- 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次下載 | 免費
評論