找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索

單片機(jī)控制ws2812,聲音控制流動(dòng)效果程序咋寫出來(lái)呀?

查看數(shù): 2633 | 評(píng)論數(shù): 10 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(fā)布時(shí)間: 2022-11-9 14:53

正文摘要:

有沒(méi)有大佬知道,謝謝大家 檢測(cè)到聲音輸入,產(chǎn)生4-5RGB點(diǎn)亮,間隔3-4RGB熄滅,然后產(chǎn)生新的點(diǎn)亮,然后向左邊移動(dòng), 沒(méi)有檢測(cè)到聲音輸入,測(cè)不在產(chǎn)生點(diǎn)亮RGB,將已近點(diǎn)亮的移動(dòng)完則結(jié)束 本人使用的是arduino控制 ...

回復(fù)

ID:858009 發(fā)表于 2023-3-20 15:32
快樂(lè)眼淚 發(fā)表于 2023-2-28 20:25
我也正想做個(gè),樓主成功了嗎?

是可行的,目前已經(jīng)完成了
ID:399179 發(fā)表于 2023-2-28 20:25
我也正想做個(gè),樓主成功了嗎?
ID:514901 發(fā)表于 2022-11-14 14:06
簡(jiǎn)單,就是麥克風(fēng)+運(yùn)算放大器+ADC,聲音大就多亮幾個(gè)燈,聲音小就少亮幾個(gè)燈
ID:123289 發(fā)表于 2022-11-12 17:09
32個(gè)燈用4個(gè)字節(jié)控制:燈接P0-3口剛好32個(gè)
做個(gè)數(shù)組{A1,A2,A3.....An},各個(gè)元素都是32位,每位對(duì)準(zhǔn)一個(gè)IO口,1亮0不亮。
每間隔一段時(shí)間(0.5秒),取出一個(gè)值,送到IO去顯示,就可以了。
數(shù)組取值如下:
開(kāi)始是一個(gè)個(gè)點(diǎn)亮,直達(dá)達(dá)到六個(gè)左右:
第1個(gè)亮:        A1=00000001H【00000000,00000000,00000000,00000001】
第2個(gè)亮:        A2=00000003H【00000000,00000000,00000000,00000011】
第3個(gè)亮:        A3=00000007H【00000000,00000000,00000000,00000111】
第4個(gè)亮:        A4=0000000FH【00000000,00000000,00000000,00001111】
第5個(gè)亮:        A5=0000001FH【00000000,00000000,00000000,00011111】
間隔3個(gè)第9亮:A6=0000011FH【00000000,00000000,00000001,00011111】
消失第9個(gè):     A7=0000001FH【00000000,00000000,00000000,00011111】
消失第5個(gè):     A8=0000000FH【00000000,00000000,00000000,00001111】
............
ID:858009 發(fā)表于 2022-11-10 10:33
yzwzfyz 發(fā)表于 2022-11-10 09:27
換個(gè)思想吧,沒(méi)有方向這一說(shuō)!
1、將各個(gè)燈的明暗狀態(tài),看作是的個(gè)數(shù)組的組元素(A1,A2,A3,A4……)。A的 ...

使用的ws2812燈珠數(shù)量是32,開(kāi)始是一個(gè)個(gè)點(diǎn)亮,直達(dá)達(dá)到六個(gè)左右,間隔三個(gè),在繼續(xù)一個(gè)個(gè)出現(xiàn)點(diǎn)亮6,消失則是一個(gè)個(gè)減少,在這兩個(gè)步驟我不太了解怎么解決,求指導(dǎo)一下
ID:1034262 發(fā)表于 2022-11-10 10:28
對(duì)于會(huì)單片機(jī)程序的人,這個(gè)非常簡(jiǎn)單,類似做音頻電平指示。
ID:123289 發(fā)表于 2022-11-10 09:27
換個(gè)思想吧,沒(méi)有方向這一說(shuō)!
1、將各個(gè)燈的明暗狀態(tài),看作是的個(gè)數(shù)組的組元素(A1,A2,A3,A4……)。A的每一位0/1對(duì)應(yīng)一個(gè)燈的明暗。
2、每間隔一個(gè)時(shí)間TG,切換一個(gè)組元素,送出顯示。
這樣,改變TG的大小,就改變了速度。
改變,A1,A2,A3,A4值(或排序),就改變的LED燈的顯示狀態(tài)。
如果,A1,A2,A3,A4……的組合,形成左移的效果,看上去就左移了;形成右移的效果,看上去就右移了;看上去形成跳動(dòng)的效果,看上去就跳動(dòng)了……
你想怎么玩就怎么玩!
程序構(gòu)思巧妙,易寫,邏輯清晰。
你要玩的花色,就是在如何將LED的各種顯示組合,編制了A1,A2,A3……
如果,你設(shè)計(jì)了N個(gè)方案(單燈左移,單燈右移,雙燈左移,雙燈右移,暫停、全閃、……),就做成N的數(shù)組。每按一次鍵就換一個(gè)數(shù)組取值,顯示。
ID:858009 發(fā)表于 2022-11-10 09:15
hhdsdy 發(fā)表于 2022-11-9 17:45
只是用有沒(méi)聲音來(lái)控制顯示個(gè)數(shù),而不是用聲音的大小來(lái)控制移動(dòng)的速度,這不難啊

不是控制移動(dòng)速度,是控制左側(cè)產(chǎn)生固定點(diǎn)亮4個(gè)RGB燈珠,間隔三個(gè),再繼續(xù)產(chǎn)生;向右側(cè)移動(dòng),移動(dòng)至最右側(cè)算結(jié)束,如果沒(méi)有聲音接受則不繼續(xù)產(chǎn)生,將剩下的移動(dòng)結(jié)束即可,

使用的是arduino控制板或者esp32控制板,使用的驅(qū)動(dòng)庫(kù)是FastLED和Adafruit_NeoPixel驅(qū)動(dòng)WS2812

我想問(wèn)一下要實(shí)現(xiàn)這個(gè)功能,是需要什么方法才可以?能指導(dǎo)一下嗎
ID:272119 發(fā)表于 2022-11-9 19:51
首先會(huì)硬件,把聲音放大整形,然后做比較器產(chǎn)生數(shù)字信號(hào)連到單片機(jī)IO,然后用連續(xù)讀取IO,用IO狀態(tài)信號(hào)做移相顯示.就是那么簡(jiǎn)單,如果沒(méi)有硬件基礎(chǔ)那我說(shuō)的話基本也是像唱天書一樣.
ID:88256 發(fā)表于 2022-11-9 17:45
只是用有沒(méi)聲音來(lái)控制顯示個(gè)數(shù),而不是用聲音的大小來(lái)控制移動(dòng)的速度,這不難啊

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表