一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>具有顏色選擇的音頻頻譜可視化器

具有顏色選擇的音頻頻譜可視化器

2022-11-04 | zip | 0.05 MB | 次下載 | 2積分

資料介紹

描述

我對(duì)可尋址的“Neopixel”RGB LED 的可能性很感興趣。我想學(xué)習(xí)如何控制它們并在具有挑戰(zhàn)性的項(xiàng)目中使用它們。我讀過(guò)一些使用 LED 陣列和矩陣來(lái)表示音頻頻譜的項(xiàng)目,就像圖形均衡器上的照明顯示器一樣。

我想到了一些不同的東西。一個(gè)垂直的 LED 串怎么樣,低頻在底部,高頻在頂部,每個(gè)頻段的幅度會(huì)顯示為每個(gè) LED 的亮度?然后音樂(lè)將沿著這條弦“跳動(dòng)”。我當(dāng)然不是第一個(gè)想到或執(zhí)行它的人,但我還沒(méi)有看到這個(gè)特定的應(yīng)用程序。

如果 LED 的亮度由音樂(lè)控制,LED 的顏色可以由設(shè)備的用戶設(shè)置嗎?

這個(gè)怎么運(yùn)作

該設(shè)備的電路和代碼以兩種模式運(yùn)行。這些模式是通過(guò)前面板右側(cè)的模式開(kāi)關(guān)選擇的。當(dāng)模式開(kāi)關(guān)在左側(cè)位置時(shí),顏色設(shè)置模式被激活。

顏色設(shè)置模式允許用戶使用 5 個(gè)電位器設(shè)置 LED 燈條的顏色范圍。具體來(lái)說(shuō),從左到右,電位器調(diào)整:

1.數(shù)值——LED燈帶的整體亮度

2. 飽和度 - 此設(shè)置逐漸在鮮艷的色彩和純白色之間轉(zhuǎn)換色調(diào)

3. 頂部色調(diào) - 指定 LED 燈條頂部的色調(diào)(顏色)

4. 底部色調(diào) - 指定 LED 燈條底部的色調(diào)(顏色)

當(dāng) LED 燈帶包含多個(gè) Hue 時(shí),顏色順序始終遵循色譜的順序:紅色、橙色、黃色、綠色、藍(lán)色、紫色。

要為整個(gè) LED 燈條選擇一個(gè)色調(diào),只需將頂部色調(diào)和底部色調(diào)電位器放在相同的位置。

5. Spread - 控制色相沿 LED 燈條的分布范圍,從集中在中間到“聚集”在兩端。

我使用色相、飽和度和值 (HSV) 顏色模型來(lái)控制 LED,而不是 RGB 參數(shù),因?yàn)?HSV 直接產(chǎn)生我想要的效果。本文解釋并比較了 HSV 和 RGB 顏色模型。幸運(yùn)的是,代碼中使用的 Adafruit Neopixel 庫(kù)同時(shí)支持 RGB 和 HSV。

當(dāng)模式開(kāi)關(guān)處于右側(cè)位置時(shí),F(xiàn)FT 模式被激活。在這種模式下,電位器被禁用。

FFT(快速傅立葉變換)模式接受來(lái)自音樂(lè)播放器耳機(jī)連接的輸入。使用 FFT,它計(jì)算每個(gè)頻帶的 HSV 設(shè)置的值(亮度)部分。然后它將這個(gè)值參數(shù)與用戶選擇的顏色組合起來(lái),并將它們發(fā)送到適當(dāng)?shù)?LED。本文對(duì)傅里葉變換進(jìn)行了簡(jiǎn)單易懂的解釋。實(shí)際的計(jì)算超出了我的想象,但慷慨的 Arduino 社區(qū)再次以 ArduinoFFT 庫(kù)的形式提供了救援。

電路

電路原理

poYBAGNkWfqADy-ZAAFMRYhHfSY975.png
?

在此圖中,標(biāo)記為 Arduino Nano (Rev3.0) 的設(shè)備實(shí)際上是一個(gè) Arduino Nano Every。

標(biāo)有電壓調(diào)節(jié)器 5V 的設(shè)備實(shí)際上是一個(gè) 5V 降壓轉(zhuǎn)換器。9VDC 墻上適配器通過(guò)其 Vin 引腳為 Nano 供電,并為降壓轉(zhuǎn)換器供電。降壓轉(zhuǎn)換器的作用是為 LED 燈條提供 5V 電源。Nano 通過(guò)引腳 D3 與 LED 燈條通信。

我使用了這個(gè)項(xiàng)目中詳述的音頻輸入電路(在圖的左上角):

該電路使用 Nano 的 REF 和 3.3V 引腳,并饋入 A0 模擬輸入。

五個(gè)電位器用于設(shè)置 LED 燈條的顏色和顏色范圍。代碼部分描述了這五種設(shè)置。它們由 Nano 的模擬輸入 A1 到 A5 讀取。

模式開(kāi)關(guān)用于選擇顏色設(shè)置或 FFT 模式。開(kāi)關(guān)位置在 Nano 的 D2 引腳上讀取。

Fritzing 文件可在下面的原理圖部分下載。

面包板組裝

pYYBAGNkWf2AX8fuAAPS5IThiEo586.png
?

我為那些想像我一樣探索和修改電路的人提供了這張圖。面包板也是測(cè)試代碼和所有組件的最不令人沮喪的方式。Fritzing 文件可在下面的原理圖部分下載。

同樣,看起來(lái)像穩(wěn)壓器的設(shè)備實(shí)際上是一個(gè) 5V 降壓轉(zhuǎn)換器。表示為 Arduino Nano(Rev3.0)的控制器實(shí)際上是 Arduino Nano Every。所有紅線承載 5V,橙色線承載 9V,黑線接地。

原型板和盒子組裝

pYYBAGNkWgCAHD4MAAINgLuYxPk646.png
?

該圖可在下面的“原理圖”部分下載。圖示的板比我使用的板大,但它讓我能夠更清楚地說(shuō)明布局。

poYBAGNkWgWAe5dCAAupJj4bh8Y610.jpg
?

通過(guò)豎起電阻器并將穿孔中的一些連接加倍,我能夠?qū)⒔M件擠壓到 7cm x 3cm 板上。它非常適合我選擇的外殼,有足夠的空間可供使用。

Nano 的位置使其 USB 連接器略微懸垂在電路板邊緣。我在外殼上切了一個(gè)檢修孔,我可以通過(guò)它連接 USB 電纜。這讓我可以在不移除 Nano 的情況下重新編程。

我最初使用橡膠粘合劑將 Nano 直接放置在板上,直到焊點(diǎn)將其固定到位。

我決定在電路板和面板安裝組件之間安裝 JST 連接器。對(duì)于原型而言,這似乎過(guò)于熱心,但有時(shí)間,我只是想熟悉這些連接器。我也懷疑我最終會(huì)想要重新安排一些事情。

pYYBAGNkWgyAK3ypAAwhiUwTF0E132.jpg
?

我在“定制零件和外殼”部分包含了我的施工圖。這些可以節(jié)省您測(cè)量、定位和安裝組件的時(shí)間。您還可以使用它們打印控件的符號(hào)。

poYBAGNkWhGAEzO-AAfPgEemQb8054.jpg
?

這張照片顯示了 LED 柱組件的底座。該項(xiàng)目要求 LED 燈條包含 29 個(gè) LED。LED燈條的背面是自粘的,所以我把它粘在一塊1/2”x1/8”的鋁條上。我想擴(kuò)散 LED 的光,我想到了氯丁橡膠管。它通常具有半透明的白色。我發(fā)現(xiàn)這種內(nèi)徑為 12 毫米的管子非常適合燈條和 LED 燈條。光線尚未擴(kuò)散到我喜歡的程度,我將嘗試使用其他材料。我的大女兒,一位藝術(shù)家,建議使用聚酯薄膜。

編碼

我?guī)缀踉诿恳恍写a中都添加了注釋,以便在我學(xué)到的時(shí)候向自己解釋。所以在這里,我將更籠統(tǒng)地描述它。

與 LED 燈條通信

該代碼使用 Adafruit NeoPixel 庫(kù)與 LED 燈條進(jìn)行通信。以下是圖書(shū)館圖書(shū)館用戶指南的鏈接。

主循環(huán)的結(jié)構(gòu)

主循環(huán)分為兩個(gè)循環(huán);顏色設(shè)置循環(huán)和 FFT 循環(huán)。模式開(kāi)關(guān)的位置決定了哪個(gè)循環(huán)處于活動(dòng)狀態(tài)。循環(huán)由讀取開(kāi)關(guān)位置的“while”語(yǔ)句控制。

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();
}
}

當(dāng)模式開(kāi)關(guān)處于顏色設(shè)置位置 (LOW) 時(shí),顏色設(shè)置代碼將保持循環(huán)。

只要將模式開(kāi)關(guān)撥到 FFT 位置 (HIGH),“while”循環(huán)就會(huì)中斷,F(xiàn)FT 代碼就會(huì)開(kāi)始循環(huán)。

當(dāng)模式開(kāi)關(guān)再次輕彈到顏色設(shè)置位置時(shí),軟復(fù)位功能被激活,重新初始化 Nano 并允許顏色設(shè)置代碼再次開(kāi)始循環(huán)。

我包含了軟重置功能,因?yàn)轭伾O(shè)置代碼在 FFT 代碼運(yùn)行后拒絕運(yùn)行。我不知道為什么會(huì)發(fā)生這種情況,但是軟重置有效。

發(fā)送到 LED 燈條的所有指令都采用 RGB 標(biāo)準(zhǔn)的格式 strip.setPixelColor()。但是,我選擇使用 HSV 參數(shù)設(shè)置顏色,然后將它們轉(zhuǎn)換為 RGB。

顏色設(shè)置模式:傳播調(diào)整

這個(gè)特性需要一些解釋。我添加了這個(gè)調(diào)整,因?yàn)槲蚁敫淖冄?LED 燈帶的色調(diào)分布,從集中在中間到“聚集”在兩端。我將 sigmoid 曲線(也稱為 s 曲線)公式應(yīng)用于色調(diào)范圍。

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) 的值用于調(diào)整 S 形曲線的斜率,從而改變每個(gè) LED 的色調(diào)。然后每個(gè) LED 的色調(diào)變?yōu)?hueSig[i]。順便說(shuō)一句,我通過(guò)實(shí)驗(yàn)得出了 4000000 的值。

本文解釋了 sigmoid 曲線。我在文章的開(kāi)頭使用了基本方程。

FFT 模式

我當(dāng)然沒(méi)有在這里發(fā)明任何東西。感謝 Chris Parker 分享他的設(shè)計(jì)代碼。我還借鑒了Arduino FFT 庫(kù)文檔中的示例。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
  2. 4.27 MB   |  9次下載  |  免費(fèi)
  3. 2Altium Designer元件庫(kù)
  4. 17.11 MB   |  6次下載  |  免費(fèi)
  5. 324V2A開(kāi)關(guān)電源PCB資料分享
  6. 0.23 MB   |  4次下載  |  1 積分
  7. 4GD100PIX120C6SNA規(guī)格書(shū)
  8. 0.98 MB   |  3次下載  |  免費(fèi)
  9. 5Multisim模擬電路仿真教程
  10. 1.93 MB   |  1次下載  |  3 積分
  11. 6BK7258英文規(guī)格書(shū)
  12. 1.67 MB   |  1次下載  |  免費(fèi)
  13. 7RA4L1硬件手冊(cè)
  14. 21.89 MB  |  1次下載  |  免費(fèi)
  15. 8RA4L1_SENSOR-V1原理圖
  16. 754.36 KB  |  1次下載  |  免費(fèi)

本月

  1. 1晶體三極管的電流放大作用詳細(xì)說(shuō)明
  2. 0.77 MB   |  32次下載  |  2 積分
  3. 2雙極型三極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費(fèi)下載
  4. 4.03 MB   |  25次下載  |  1 積分
  5. 3AIWA HS-J303 MKⅡ維修手冊(cè)
  6. 22.47 MB   |  24次下載  |  10 積分
  7. 4九陽(yáng)豆?jié){機(jī)高清原理圖
  8. 2.47 MB   |  23次下載  |  1 積分
  9. 5多級(jí)放大電路的學(xué)習(xí)課件免費(fèi)下載
  10. 1.81 MB   |  21次下載  |  2 積分
  11. 6AIWA HS-J202/HS-J202M/HS-J800維修手冊(cè)
  12. 13.60 MB   |  16次下載  |  10 積分
  13. 7東芝彩色電視機(jī)29SF6C維修說(shuō)明書(shū)
  14. 4.86 MB   |  9次下載  |  1 積分
  15. 8人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
  16. 4.27 MB   |  9次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420063次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191382次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183338次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81586次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73814次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分