聲音是由物體振動(dòng)產(chǎn)生的聲波,通過(guò)介質(zhì)傳播并能被聽(tīng)覺(jué)器官所感知的波動(dòng)現(xiàn)象。光是一個(gè)物理學(xué)名詞,其本質(zhì)是一種處于特定頻段的光子流。
小陳老師新買(mǎi)了一個(gè)華為藍(lán)牙音箱,這款音箱不僅僅擁有出色的音效,并且在夜晚的時(shí)候還自帶氛圍燈的效果,隨著音樂(lè)的節(jié)拍音箱周身變化出絢麗的燈光效果。除了炫酷的藍(lán)牙音箱之外,在生活中我們常常也可以看到聲音和音樂(lè)結(jié)合的風(fēng)景線(xiàn),就比如廣場(chǎng)上的音樂(lè)噴泉等,聲音高低重合,光線(xiàn)明暗交錯(cuò)。
通過(guò)對(duì)掌控板編程,我們也可以實(shí)現(xiàn)類(lèi)似的效果,制作聲光結(jié)合作品。我們通過(guò)掌控板上的麥克風(fēng)獲取到聲音的數(shù)值,通過(guò)對(duì)數(shù)值的映射在掌控板LED屏幕上顯示出高低不同的線(xiàn)條,通過(guò)不同聲音的數(shù)值的變化給掌控板的RGB燈光發(fā)出顏色指令,讓它成為氛圍燈。
這個(gè)例子的代碼容易理解,只需要注意知識(shí)點(diǎn)“映射”:在數(shù)學(xué)上,映射指兩個(gè)元素集之間元素相互“對(duì)應(yīng)”的關(guān)系。設(shè)A、B是兩個(gè)非空集合,如果存在一個(gè)法則f,使得對(duì)A中的每個(gè)元素a,按法則f,在B中有唯一確定的元素b與之對(duì)應(yīng),則稱(chēng)f為從A到B的映射,記作f:A→B。
通過(guò)對(duì)掌控板仿真模擬的測(cè)試我們可以發(fā)現(xiàn),當(dāng)滑動(dòng)聲音滑桿到最頂端時(shí),聲音值為4095,超出4095時(shí),滑桿消失。當(dāng)滑動(dòng)聲音滑桿到最低端時(shí),聲音值為0,勾選隨機(jī)模擬麥克風(fēng)音質(zhì)時(shí),數(shù)值可隨機(jī)變化。
通過(guò)掌控板自帶的程序映射將采集的聲音從0-4095對(duì)應(yīng)到55-0的范圍之內(nèi)(受掌控板液晶屏高度限制)。當(dāng)運(yùn)行程序后重復(fù)執(zhí)行通過(guò)模擬麥克風(fēng)將聲音數(shù)值映射到另一個(gè)范圍中,通過(guò)繪制線(xiàn)條的方式用柱狀圖表示聲音的大小。線(xiàn)條之間保留一定的間隔(數(shù)值可以自定義)。
根據(jù)聲音的數(shù)值控制RGB燈顏色的變化,當(dāng)聲音的范圍在0-1000之間,燈為紫色;當(dāng)聲音范圍在1000-2000之間,燈為綠色;當(dāng)聲音范圍在2000-3000之間,燈為藍(lán)色;當(dāng)聲音范圍在3000-4000之間,燈為紅色。
運(yùn)行調(diào)試,達(dá)到設(shè)計(jì)目標(biāo)后,如果手頭還有彩色燈帶還可以升級(jí)程序,做出真正的氛圍燈。趕緊拉上你身邊的小伙伴一起動(dòng)手學(xué)習(xí)編程吧,只要你善于運(yùn)用想象力,就可以編寫(xiě)更多有意思的程序哦。