資料介紹
描述
我想稍微修飾一下我的房間,所以我決定選擇一些基本的 LED 燈條。不僅僅是靜態(tài)地照亮事物,我還想讓燈光能夠?qū)νㄟ^揚(yáng)聲器播放的音樂做出反應(yīng)。具體來說,我的目標(biāo)是制作一個(gè)對(duì)聲音頻率做出反應(yīng)的照明系統(tǒng)。我找不到任何簡單的軟件和硬件指令來做到這一點(diǎn),所以我們來了!
這個(gè)項(xiàng)目的主要目標(biāo)是簡單。您可以在不到一小時(shí)的時(shí)間內(nèi)以低于 40 美元的價(jià)格建造它。
第 1 步:零件
該項(xiàng)目可以完全使用來自 Sparkfun 的面包板兼容組件構(gòu)建。查看完整列表的零件部分,但需要注意的一點(diǎn)是,當(dāng)然可以將此處的零件替換為其他零件。
幾乎任何微控制器都可以在這里工作,盡管它至少應(yīng)該和 Arduino Uno (16 MHz ATmega328) 一樣快。響應(yīng)速率的限速步驟是傅立葉變換,因此像基于 Cortex M 系列的微控制器將具有驚人的速度。您還需要弄清楚您選擇的任何微控制器的寄存器設(shè)置,所以我推薦基于 ATmega328 的東西。
任何與 Adafruit 的 NeoPixel 庫兼容的燈條都可以使用。最后,您可能需要兩個(gè)電源(一個(gè)用于燈,一個(gè)用于微控制器)。
第2步:電路
如您所見,電路并不是特別復(fù)雜。有關(guān)更多詳細(xì)信息,請(qǐng)參見上圖,但基本連接如下所示:
5V 電源 -> Barrel Jack -> LED Strip Vin
5V 電源 -> Barrel Jack -> LED 燈條接地和微控制器接地
微控制器 5V 輸出 -> 麥克風(fēng)模塊 Vin
微控制器接地 -> 麥克風(fēng)模塊接地
微控制器引腳 2 -> LED 燈條數(shù)據(jù)輸入
微控制器 A0 -> 麥克風(fēng)模塊音頻輸出
注意事項(xiàng):
連接 LED 燈條:列出的 SparkFun LED 燈條使用紅色、綠色和白色電線。紅色是電源輸入,接地是數(shù)據(jù)輸入,白色是接地。您可以將跳線直接插入母連接器引腳以進(jìn)行連接。確保連接右端 - 有一個(gè)箭頭指示數(shù)據(jù)必須流向哪個(gè)方向。
單獨(dú)的電源:我發(fā)現(xiàn)當(dāng)燈連接到與微控制器相同的電源時(shí),聲音分析變得非常嘈雜。我將此歸因于導(dǎo)致電壓波動(dòng)的 LED 燈條。出于這個(gè)原因,我建議使用單獨(dú)的電源為您的燈供電。
電平轉(zhuǎn)換音頻輸出:這個(gè) SparkFun 模塊很不錯(cuò),因?yàn)樗哂蟹糯篼溈孙L(fēng)音頻和將音頻電平集中在電源電壓一半的組件。如果您使用不同的模塊,它可能無法完成這兩項(xiàng)任務(wù),所以要小心。如果音頻沒有被放大并且電平?jīng)]有改變,你可能不會(huì)有很好的結(jié)果。
使用多個(gè)燈條:當(dāng)然可以將多個(gè) LED 燈條連接在一起。但是,如果您這樣做,請(qǐng)注意您可能需要一個(gè)能夠提供大量電流(3 安培以上)的電源。
第 3 步:軟件
您可以在附件部分和GitHub 上找到該軟件。該軟件需要以下庫,這兩個(gè)庫都可以直接從 Arduino 庫管理器中安裝:
arduinoFFT
Adafruit NeoPixel
關(guān)于該軟件需要注意的一項(xiàng)是采樣。奈奎斯特采樣定理規(guī)定,為了捕獲信號(hào),您需要對(duì)其采樣速度至少是信號(hào)中變化最快的分量的兩倍。如果我們想要捕獲包含有意義頻率到大約 20 kHz 的音頻信號(hào),我們需要以大于 40 kHz 的速率進(jìn)行采樣。Arduino 的analogRead 函數(shù)太慢了,所以我們必須操縱一些微控制器寄存器來直接訪問模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)。歸功于本教程的寄存器操作代碼。此代碼是特定于設(shè)備的,因此如果您不使用基于 ATmega328 的板,則需要修改這些設(shè)置以在您自己的微控制器上工作。
我們實(shí)際上使用快速傅里葉變換 (FFT) 提取頻率信息。如果將時(shí)域中的 N 個(gè)真實(shí)樣本(即沒有相位信息)的數(shù)組輸入到 FFT 函數(shù)中,您將得到頻域中的 N 個(gè)點(diǎn)的數(shù)組,其中一半是冗余的。由于我們?cè)?40 kHz 左右采樣,因此最大頻率分量將在 20 kHz 左右(根據(jù)上述采樣定理)。我的代碼使用 64 個(gè)樣本,因此我們得到的頻率分辨率為 20000/(64/2) = 625 Hz。
然后我提取最大幅度的頻率分量,并根據(jù)這個(gè)分量的頻率改變光的顏色。我將此頻率映射到 0 到 255 之間的范圍,并按如下方式創(chuàng)建顏色,其中 X 軸是映射頻率,Y 軸是每個(gè)顏色通道的幅度:
最低頻率用綠色表示,最高頻率用紅色表示。其間的頻率以顏色組合表示。我非常喜歡這種可視化,但其他的當(dāng)然是可能的。另一件需要注意的事情是,如果信號(hào)高于某個(gè)音量,我只會(huì)顯示顏色。如果不是,則條帶將顯示暗白色。我發(fā)現(xiàn)當(dāng)沒有音樂播放時(shí)燈光閃爍很煩人。您可以相應(yīng)地調(diào)整 sound_thresh 變量。
要調(diào)整的事情:
變量 loop_num 是 FFT 將一起計(jì)算和平均的次數(shù)。如果你發(fā)現(xiàn)你的燈太緊張,增加這個(gè)數(shù)字!
變量 sound_thresh 是燈光開始改變顏色的聲音閾值。如果您發(fā)現(xiàn)音樂需要非常響亮才能讓燈光開始做出反應(yīng),您可以降低此數(shù)字,或者如果您不希望燈光閃爍,則可以增加此數(shù)字。
變量樣本是傅里葉變換的輸入向量的大小。試著玩弄這個(gè)數(shù)字,但要保持它的 2 次方。
編譯代碼并將其上傳到您的微控制器,您應(yīng)該一切就緒!
第 4 步:安裝和后續(xù)步驟
基本上就是這樣——如果你正確連接了所有東西,你現(xiàn)在就有了一個(gè)功能強(qiáng)大的音樂可視化器。安裝應(yīng)該很簡單 - 只需選擇一個(gè)可以使用電源插座的位置。大多數(shù)條帶都有背膠,因此您幾乎可以將它們粘貼在任何地方。顯然,您可以做很多事情來修改這個(gè)項(xiàng)目。這里有一些想法:
改變顏色:如果你不喜歡我的顏色選擇,你可以改變這個(gè)軟件來創(chuàng)建你自己的!
使用音量而不是頻率:SparkFun 聲音檢測器模塊還有一個(gè)稱為“ENVELOPE”的引腳,它是聲音整體音量的量度。您可以使用analogRead 對(duì)該引腳進(jìn)行采樣,刪除FFT 代碼,然后根據(jù)聲級(jí)修改顏色。
?
- FUXA基于Web的過程可視化軟件案例 0次下載
- 使用Arduino制作32波段音頻頻譜分析儀/可視化儀
- 基于樹莓派的音頻頻譜圖可視化設(shè)備 3次下載
- 使用Raspberry Pi的音頻可視化器
- 具有顏色選擇的音頻頻譜可視化器
- Python數(shù)據(jù)可視化編程實(shí)戰(zhàn) 29次下載
- 基于HONSOR的3D可視化智慧檔案館白皮書 20次下載
- 基于顯示導(dǎo)向型計(jì)算的地理矢量要素可視化技術(shù) 6次下載
- 綜述知識(shí)圖譜的數(shù)據(jù)模型和可視化技術(shù) 4次下載
- 綜述知識(shí)圖譜的數(shù)據(jù)模型和可視化技術(shù) 16次下載
- 教育大數(shù)據(jù)可視化分析研究的綜合分析 108次下載
- 衛(wèi)星載荷可視化仿真分析平臺(tái)設(shè)計(jì)方案 30次下載
- 柔性動(dòng)態(tài)可視化在醫(yī)學(xué)圖像可視化中應(yīng)用 0次下載
- 電子家譜的元圖可視化 4次下載
- 文本可視化綜述 14次下載
- 使用樹莓派Pico開發(fā)板制作實(shí)時(shí)音頻光譜圖可視化器 1368次閱讀
- 幾款好用的可視化工具推薦 971次閱讀
- 上位機(jī)可視化界面編程軟件 上位機(jī)可視化調(diào)試工具 1866次閱讀
- 詳解圖形繪制和可視化 643次閱讀
- 啟動(dòng)仿真軟件WinCC Runtime Advanced測試可視化功能 6652次閱讀
- 如何利用樹莓派的手勢控制全息音頻可視化器 2256次閱讀
- 為什么要可視化圖 大規(guī)模圖可視化攻略方案 4446次閱讀
- 數(shù)據(jù)可視化用來創(chuàng)造一條快速認(rèn)識(shí)數(shù)據(jù)集的捷徑 2673次閱讀
- 如何把握設(shè)計(jì)與功能之間的平衡,創(chuàng)建出簡潔直觀的可視化圖像? 3079次閱讀
- 指引入門d3.js的門徑,如何基于基本原則創(chuàng)建可視化? 2858次閱讀
- 如何對(duì)MCU程序中的數(shù)據(jù)進(jìn)行可視化 5861次閱讀
- 如何基于Plotly和ipywidgets在Jupyter Notebook中創(chuàng)建交互可視化內(nèi)容 1.5w次閱讀
- 實(shí)現(xiàn)海量數(shù)據(jù)分析及可視化的簡便方法 4991次閱讀
- CNN可視化理解的最新綜述 1.1w次閱讀
- 可視化策略的數(shù)據(jù)分析 4315次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 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元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 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è)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 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é)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多