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

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

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

3天內(nèi)不再提示

聲控LED頻譜分析儀的制作

454398 ? 來源:wv ? 2019-10-17 10:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第1步:測試您的LED

將所有東西布置在適當(dāng)大小的工作空間上。插入電烙鐵。您要做的第一件事就是測試您的LED。

我很快了解到這些燈不喜歡在沒有數(shù)據(jù)的情況下響應(yīng)電源。如果您跳起來嘗試僅用電源測試它們而它們不起作用,請稍等片刻。他們可能只需要注入一些代碼即可激活LED。在切割LED燈條之前,請遵循本指南將燈條連接至Arduino/電源。然后運(yùn)行此處找到的示例代碼。

注意:一端確實(shí)已預(yù)焊接了導(dǎo)線。隨意嘗試一下。在卷軸上,我收到了預(yù)包裝的電纜,但沒有用(哼哼聲),所以我不得不切斷兩個LED并從卷軸的裸露端開始。

步驟2:焊接VU防護(hù)板

抓住Shifty VU防護(hù)板和Arduino。

VU防護(hù)板帶有一組接頭引腳,用于連接到Arduino的。這些接頭需要焊接,因?yàn)檫B接太松,甚至不能出于測試目的而簡單地插入。有關(guān)如何將屏蔽層焊接到Arduino的技巧,請參閱Sparkfun的這份出色指南。

步驟3:切割LED燈條

對于這個項目,我使用了3條帶,每條帶38個LED。

您可以決定要保留多長時間。較短的燈條(少于10個LED)可能不會給您帶來很大的效果,但是請確定適合您的項目的長度,并相應(yīng)調(diào)整本指南中的步驟。

LDP8806燈帶每節(jié)帶有兩個LED,每16個LED與焊錫相連。您可以在插排的任何點(diǎn)進(jìn)行切割和連接,但是如果需要在連接點(diǎn)斷開插排的連接,請務(wù)必拆焊。觀看此視頻,該視頻顯示了如何分割這種類型的條帶。

步驟4:連接準(zhǔn)備

在本指南中,我將使用黑色,紅色,黃色和綠色的線。您可以使用所需的任何顏色,但是請記住,在以下步驟中將參考這些顏色。

剝開兩端的線以獲得每種四種顏色的幾根導(dǎo)線。

獲取您的LED指示燈。您想找到箭頭指向遠(yuǎn)離帶狀切口的末端。

小心地切掉密封條的末端,這樣就可以到達(dá)連接器(或?qū)⑵渫耆械簦?/p>

用焊料固定連接器。這樣可以更輕松地焊接電線。再次注意箭頭的方向;注意它是如何指向遠(yuǎn)離焊料的。這就是數(shù)據(jù)流的方向,如果將它們混在一起,可能會損壞條帶。

只需檢查一下,箭頭方向是否正確?如果沒有,您將破產(chǎn)。

第5步:連接LED

這些LED有四個引腳;地,5v,C(時鐘)和D(數(shù)據(jù))。條帶的某些部分上標(biāo)有值,有些則沒有。沒關(guān)系,只要知道您要焊接到哪個引腳即可。繼續(xù)操作時請參閱接線圖,并仔細(xì)檢查條帶面對的方向。

將條帶焊接在一起,確保每個輸出都連接到其各自的輸入。

第6步:連接到Arduino/電源

獲取5V電源和Arduino。

從在插排布置的輸入端開始,將綠色數(shù)據(jù)線連接到引腳2,將黃色時鐘線連接到引腳3。紅色5V線直接連接到電源,并且電源和LED燈帶與驅(qū)動器共享公共接地。 Arduino。

請參閱上面的接線圖,并仔細(xì)檢查所有連接。

第7步:代碼

將Arduino連接到您的PC。抓住您的音頻分配器并將其連接到PC。使用一根音頻電纜連接至VU屏蔽,另一根電纜連接至揚(yáng)聲器。將電源適配器連接到電源插座。

一旦一切都連接好,請從步驟0開始運(yùn)行測試程序以再次檢查所有指示燈是否點(diǎn)亮。

從Github下載項目代碼并添加到您的Arduino庫。打開Arduino IDE并上傳。

#include “fix_fft.h”

#include “HSBColor.h”

#include “LPD8806.h”

#include “SPI.h”

// Choose 2 pins for Arduino output

#define DATA_PIN 2

#define CLOCK_PIN 3

// Defines the number and arrangement of LEDs in the visualizer. For a vertical setup, this will determine the space to light ratio as they wrap

#define NUM_BARS 12

#define BAR_LENGTH 12

// The difference in hue for each bar after the first.

#define BAR_HUE_DIFF 8

// Create a LPD8806 instance to control the strip

LPD8806 strip = LPD8806(NUM_BARS * BAR_LENGTH, DATA_PIN, CLOCK_PIN);

// The current hue of the first strip of the bar

int curHue = 0;

// FFT data storage

char im[NUM_BARS * 2], data[NUM_BARS * 2];

int prev[NUM_BARS];

// HSB/RGB data buffer

int rColor[3];

// Converts a 2d visualizer point to it‘s location on the strip

int getStripLocation(int col, int row)

{

// Controls the strip in alternating directions. This allows for chaining horizontal bars end-to-end

if (col % 2 == 0)

row = BAR_LENGTH - row - 1;

return col * BAR_LENGTH + row;

}

void setup()

{

analogReference(DEFAULT);

strip.begin();

strip.show();

}

void loop()

{

uint16_t i, j, k;

uint32_t color;

// Read analog input

for (i = 0; i 《 NUM_BARS * 2; i++)

{

int val = (analogRead(3) + analogRead(2)) / 2;

data[i] = val * 2;

im[i] = 0;

delay(1);

}

// Set the background colour of the LEDs when they are not receiving music data

for (i = 0; i 《 NUM_BARS * BAR_LENGTH; i++)

strip.setPixelColor(i, 20, 20, 40);

// Set the proper pixels in each bar

for (i = 0; i 《 NUM_BARS; i++)

{

// Each LED bar has 2 FFT frequencies that are summed together

int fft_start = i * 2;

int fft_count = 2;

// Get a positive data point from the FFT

int curData = 0;

for (k = 0; k 《 fft_count; k++)

curData += sqrt(data[fft_start + k] * data[fft_start + k] + im[fft_start + k] * im[fft_start + k]);

// Account for the ShiftyVU’s filtering

if (i == 0 || i == 7)

curData /= 2;

// Smoothly drop from peaks by only allowing data points to be one LED lower than the previous iteration.

// This prevents seizure-inducing flashes which might be caused by the ShiftyVU‘s filtering (?)

if (prev[i] 》 BAR_LENGTH && curData 《 prev[i] - BAR_LENGTH)

curData = prev[i] - BAR_LENGTH;

// Base color for each bar

H2R_HSBtoRGB((curHue + i * 8) % 360, 99, 99, rColor);

color = strip.Color(rColor[0] / 2, rColor[1] / 2, rColor[2] / 2);

// If only the first LED is lit, but not fully. This is outside the for loop because the subtraction of

// BAR_LENGTH causes the value to wrap around to a very high number.

if (curData 《 BAR_LENGTH)

{

int brightness = curData * 99 / BAR_LENGTH;

H2R_HSBtoRGB((curHue + i * BAR_HUE_DIFF) % 360, 99, brightness, rColor);

// Colour of the base of each bar. Change this to match the background colour of the LEDs

strip.setPixelColor(i, 20, 20, 40);

}

else

{

for (j = 0; j 《 BAR_LENGTH; j++)

{

// Light up each fully lit LED the same way.

if (curData - BAR_LENGTH 》 j * BAR_LENGTH)

strip.setPixelColor(getStripLocation(i, j), color);

else if (curData 》 j * BAR_LENGTH)

{

// Dims the last LED in the bar based on how close the data point is to the next LED.

int brightness = (j * BAR_LENGTH - curData) * 99 / BAR_LENGTH;

H2R_HSBtoRGB((curHue + i * BAR_HUE_DIFF) % 360, 99, brightness, rColor);

strip.setPixelColor(getStripLocation(i, j), strip.Color(rColor[0] / 2, rColor[1] / 2, rColor[2] / 2));

}

}

}

// Store all of the data points for filtering of the next iteration.

prev[i] = curData;

}

// Cycle through all the colors.

if (curHue == 359)

curHue = 0;

else

curHue++;

// Display the strip.

strip.show();

}

步驟8:播放一些音樂

一旦上傳了所有內(nèi)容,就播放一些音樂!現(xiàn)在,您應(yīng)該具有類似的內(nèi)容(我的上面覆蓋有用于擴(kuò)散的光面板)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23840

    瀏覽量

    673971
  • 聲控
    +關(guān)注

    關(guān)注

    3

    文章

    93

    瀏覽量

    33349
  • 頻譜分析儀
    +關(guān)注

    關(guān)注

    16

    文章

    1202

    瀏覽量

    86724
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    4052E信號頻譜分析儀

    4052E信號頻譜分析儀 2Hz~26.5GHz 4052系列信號/頻譜分析儀 簡述 Ceyear 4052具備出色的測試動態(tài)范圍、相位噪聲、幅度精度和測試速度,具備頻譜分析、I/Q分析
    的頭像 發(fā)表于 06-17 17:48 ?168次閱讀
    4052E信號<b class='flag-5'>頻譜分析儀</b>

    USB微型頻譜分析儀模塊介紹

    SYN5216型USB微型頻譜分析儀模塊是一種重要的電子測量儀器,用于測量信號的頻譜特性。它能夠?qū)⑿盘柗纸鉃轭l率成分,并提供關(guān)于每個頻率成分的幅度和相位信息。頻譜分析儀廣泛應(yīng)用于各個領(lǐng)域,提供了豐富
    的頭像 發(fā)表于 06-06 13:55 ?196次閱讀

    是德科技 N9020B頻譜分析儀:精準(zhǔn)洞察信號世界

    信號分析儀/頻譜分析儀 N9020B
    的頭像 發(fā)表于 03-05 15:00 ?453次閱讀

    頻譜分析儀基礎(chǔ)

    本書介紹了頻譜分析儀原理,數(shù)字中頻,幅度和頻率精度,靈敏度和噪聲,動態(tài)范圍,擴(kuò)展頻率范圍,現(xiàn)代信號分析儀
    發(fā)表于 03-05 11:36

    是德頻譜分析儀的振動對測量的干擾

    是德科技(Keysight Technologies)的頻譜分析儀以其高精度、寬頻帶和豐富的功能而聞名,廣泛應(yīng)用于電子工程、通信、航空航天等領(lǐng)域。然而,在實(shí)際應(yīng)用中,環(huán)境振動常常對測量結(jié)果造成顯著
    的頭像 發(fā)表于 02-14 15:30 ?403次閱讀
    是德<b class='flag-5'>頻譜分析儀</b>的振動對測量的干擾

    usb微型實(shí)時頻譜分析儀功能特點(diǎn)

    關(guān)鍵詞:usb微型頻譜分析儀頻譜分析儀模塊,實(shí)時頻譜分析儀 ? ? ? ?usb微型實(shí)時頻譜分析儀因其體積小巧方便攜帶廣泛應(yīng)用于無線電技術(shù)的各個領(lǐng)域,今天我們就來了解一下usb微型
    的頭像 發(fā)表于 02-05 18:13 ?431次閱讀

    惠普HP8560E 頻譜分析儀

    惠普HP8560E 頻譜分析儀 30Hz~2.9GHz 產(chǎn)品信息: 8560E 系列頻譜分析儀 8560E系列便攜式頻譜分析儀具有通常在較大型且更昂貴的臺式分析儀上才有的測量能力和性能
    的頭像 發(fā)表于 12-21 14:49 ?485次閱讀

    頻譜分析儀的主要技術(shù)參數(shù)

    頻譜分析儀的主要技術(shù)參數(shù) 頻譜分析儀是一種高精度的測試儀器,它能夠測量信號的頻率、幅度和相位等參數(shù)。了解頻譜分析儀的主要技術(shù)參數(shù)對于選擇合適的設(shè)備和正確使用該設(shè)備至關(guān)重要。以下是頻譜分析儀
    的頭像 發(fā)表于 11-27 15:37 ?2098次閱讀

    頻譜分析儀在音頻工程中的應(yīng)用

    頻譜分析儀在音頻工程中具有廣泛的應(yīng)用,它是研究電信號頻譜結(jié)構(gòu)的儀器,能夠顯示信號的頻率分布,并測量信號失真度、調(diào)制度、譜純度等參數(shù)。以下是頻譜分析儀在音頻工程中的具體應(yīng)用: 頻率成分分析
    的頭像 發(fā)表于 11-27 15:36 ?1038次閱讀

    如何使用頻譜分析儀進(jìn)行信號測量

    頻譜分析儀的基本原理 頻譜分析儀通過將輸入信號與一系列已知頻率的參考信號進(jìn)行比較,來確定信號中各個頻率成分的幅度和相位。這個過程通常涉及混頻、濾波和檢測等步驟。 準(zhǔn)備工作 了解信號特性 :在進(jìn)行測量
    的頭像 發(fā)表于 11-27 15:31 ?1633次閱讀

    頻譜分析儀在無線通信中的應(yīng)用

    在無線通信領(lǐng)域,頻譜分析儀是工程師和技術(shù)人員不可或缺的工具。它能夠提供關(guān)于信號頻率分布的詳細(xì)信息,這對于設(shè)計、測試和優(yōu)化無線通信系統(tǒng)至關(guān)重要。 頻譜分析儀的基本原理 頻譜分析儀通過將輸入信號分解成其
    的頭像 發(fā)表于 11-27 15:29 ?1229次閱讀

    頻譜分析儀與信號分析儀的區(qū)別

    在現(xiàn)代電子通信領(lǐng)域,頻譜分析儀和信號分析儀是兩種不可或缺的測試工具。它們都用于測量和分析信號的特性,但它們的功能、應(yīng)用和工作原理存在顯著差異。 一、定義與基本原理 頻譜分析儀 是一種用
    的頭像 發(fā)表于 11-27 15:26 ?2436次閱讀

    頻譜分析儀的工作原理 頻譜分析儀的應(yīng)用領(lǐng)域

    頻譜分析儀是一種用于測量信號頻率成分的儀器,它能夠顯示信號的頻譜,即不同頻率成分的幅度。以下是頻譜分析儀的基本工作原理: 輸入信號 :首先,待測信號被輸入到頻譜分析儀中。 調(diào)制過程 :
    的頭像 發(fā)表于 11-27 15:24 ?1482次閱讀

    Keysight 頻譜分析儀(信號分析儀

    Keysight頻譜分析儀(信號分析儀)足夠的性能和卓越的可靠性,幫助您更輕松、更快速地應(yīng)對常見的射頻-微波測試測量挑戰(zhàn)。可靠的頻譜分析儀和信號分析儀提供準(zhǔn)確可信的測量結(jié)果無論您是要在
    的頭像 發(fā)表于 09-12 08:10 ?1076次閱讀
    Keysight <b class='flag-5'>頻譜分析儀</b>(信號<b class='flag-5'>分析儀</b>)

    看預(yù)算選USB頻譜分析儀

    隨著USB頻譜分析儀迅速崛起,市場上種類繁多,在選擇頻譜分析儀時,一定要考慮配備PC的成本,這是需要添加的預(yù)算。
    的頭像 發(fā)表于 08-08 15:14 ?539次閱讀