熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(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控制 ... |
快樂(lè)眼淚 發(fā)表于 2023-2-28 20:25 是可行的,目前已經(jīng)完成了 |
我也正想做個(gè),樓主成功了嗎? |
簡(jiǎn)單,就是麥克風(fēng)+運(yùn)算放大器+ADC,聲音大就多亮幾個(gè)燈,聲音小就少亮幾個(gè)燈 |
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】 ............ |
yzwzfyz 發(fā)表于 2022-11-10 09:27 使用的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)一下 |
對(duì)于會(huì)單片機(jī)程序的人,這個(gè)非常簡(jiǎn)單,類似做音頻電平指示。 |
換個(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ù)組取值,顯示。 |
hhdsdy 發(fā)表于 2022-11-9 17:45 不是控制移動(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)一下嗎 |
首先會(huì)硬件,把聲音放大整形,然后做比較器產(chǎn)生數(shù)字信號(hào)連到單片機(jī)IO,然后用連續(xù)讀取IO,用IO狀態(tài)信號(hào)做移相顯示.就是那么簡(jiǎn)單,如果沒(méi)有硬件基礎(chǔ)那我說(shuō)的話基本也是像唱天書一樣. |
只是用有沒(méi)聲音來(lái)控制顯示個(gè)數(shù),而不是用聲音的大小來(lái)控制移動(dòng)的速度,這不難啊 |
Powered by 單片機(jī)教程網(wǎng)