聲音的三要素
1.音量(響度) :聲音的大小(強弱),聲波的振幅(即振動的能量),振幅愈大,響度愈大,單位為分貝(dB)。
2.音調(音頻) :聲音的高低,聲波的頻率,振動愈快,頻率愈大,音調愈高,單位為赫茲(Hz)(次/秒)。
3.音色(音品) :聲音的特色,聲波的波形,不同的發聲體會有不同的波形。
壹、音量測試
利用PWM模擬不同的電壓輸出,讓蜂鳴器發出不同的音量。
蜂鳴器的正極(長腳)接數位腳D6,負極接GND
先拉一個[腳位(號碼)模式設為(OUTPUT)]的積木。
做一個變數[音量],[腳位(6類比輸出(音量)],改變[音量]的數值,輸出的電壓就會改變,蜂鳴器發出的音量也就跟著改變。
將音量變數由255慢慢減少,蜂鳴器發出的音量就愈來愈小聲。
程式下載:音量.sb2
貳、音調改變
一、播放一聲Do
聲音的高低就是聲波的頻率得快慢,聲音振動愈快,頻率愈大,發出的音調愈高,單位為赫茲(Hz)(次/秒)。
先拉一個[腳位(號碼)模式設為OUTPUT]的積木,設定數位腳位D6為輸出。
使用 [腳位(6)播放音調,頻率為:(C2,523)Hz,時間為:(500)ms] ,就可以播出0.5秒的Do
程式下載:Do.sb2
二、播放一首歌
音階–頻率對照表(單位:Hz)
低音 | Do | Re | Mi | Fa | So | La | Si |
頻率 | 262 | 294 | 330 | 349 | 392 | 440 | 494 |
中音 | Do | Re | Mi | Fa | So | La | Si |
頻率 | 523 | 587 | 659 | 698 | 784 | 880 | 988 |
高音 | Do | Re | Mi | Fa | So | La | Si |
頻率 | 1046 | 1175 | 1318 | 1397 | 1568 | 1760 | 1976 |
參考資料:http://210.70.70.242/eegc/epaper/10008/10008P-2.html
1.直接編曲
直接在 [腳位(6)播放音調,頻率為:(C2,523)Hz,時間為:(500)ms] 積木上選擇要發出的音階頻率,或是參考上面的音階-頻率對照表,設定不同音階對應的頻率。
依照歌曲需求拉一些音調播放積木就可以組合成一首歌了。
記得每個音之後都要接等待幾秒,讓音階唱完。
程式下載:小星星0.sb2
延伸:
發出模擬救護車、消防車、警車的聲音
2.使用[製作一個積木]
一般歌曲都會有一些重複的曲段,因此將歌曲分成數段,使用[製作一個積木],將重複部分自訂成積木,可以縮短程式。
以小星星為例,主要分成3段,各用了2次。
主程式變得很簡短。
註:如果使用[製作一個積木]來寫程式的好處就是程式比較有規律,修改、除錯都比較容易。
程式下載:小星星.sb2
延伸:
使用[製作一個清單],參考上面的音階-頻率對照表,將音階頻率製成清單,在音調播放積木裡,將頻率換為對應的清單音階。
三、電子琴
使用鍵盤來彈奏音樂
注意:
記得先檢查[輸入法]是否為[英],當輸入法不對時,鍵盤按鍵對應的值是錯的,無法正確反應動作。
按下鍵盤上的1、2、3、4、5、6、7分別代表Do、Re、Mi、Fa、Sol、La、Si
程式執行時只要按下不同的數字鍵,就可以彈奏出音樂了。
程式下載:電子琴.sb2
四、計時器
接線圖如前,按下[綠旗]後,輸入倒數時間,然後開始計時,時間到,蜂鳴器發出聲響。
程式開始先問要計時多久,輸入時間。
設定變數[倒數計時]為[答案]
重複等待1秒,並將倒數計時變數 -1
時間到了,將造型換成[時間到],並發出聲音。
程式下載:計時器.sb2
延伸:
1.設計可以有不同時間的計時器。例如:
按[1]開始計時1分鐘,按[2]開始計時2分鐘,按[3]開始計時3分鐘……………..
2.再加上LED,就聲、光效果都有了。
3.將時間到的do生改成音樂。
五、實體電流急急棒
加上一組LED,當手上的電線碰觸到路徑上的銅線時,就發出聲音並亮燈。
電流急急棒材料可以使用網路線剝去外皮的裸銅線來彎折後插入麵包板。
接上電線,就是一個電流急急棒了。
蜂鳴器的正極(長腳)接數位腳D11,負極接GND
紅色LED長腳(正極)接數位腳位8,短腳(負極)串接220歐姆電阻後接地(GND)
裸銅線彎折後插入麵包板,當成電流急急棒的路線,一端接10K歐姆電阻再接地(GND),中間拉一條訊號線到數位腳D7當作判斷輸入訊號。
手持的銅環接5V(可以直接拿軟線接,比較好操作)。
當手上的電線(銅環)碰觸到路徑上的銅線時,數位腳位D7就會接收到高電位,然後讓數位腳位D8和D11輸出為高電位,讓LED亮燈並讓蜂鳴器發出聲音。
先設定腳位7為輸入,8、11為輸出
重複執行,檢查手持銅環有沒有碰到路徑上的銅線,如果碰到,數位腳位7的值就會從0變成1
這裡加了一個[說讀取數位腳位7],可以從畫面上看到數值,檢查線路和程式是否正確。
如果碰觸,讓數位腳位D8和D11輸出為高電位,讓LED亮燈並讓蜂鳴器發出聲音,否則LED就熄滅且不發出聲音。
註:銅線表面可能會因為氧化,造成接觸不良。
程式下載:電流急急棒.sb2
六、聽力測試
人類能聽到的音調頻率大約在20Hz到20000Hz之間,事實上每個人能聽到的範圍都不一樣。
利用蜂鳴器來測試您能夠聽到的音調(頻率)範圍。
蜂鳴器的正極(長腳)接數位腳D6,負極接GND
程式執行時輸入您要聽的頻率,蜂鳴器就會發出一秒鐘的該頻率。
程式下載:聽力測驗.sb2
實際上因為蜂鳴器的規格限制,及scratch+arduino的規格限制,很多頻率是無法產生聲音的。
本實驗的蜂鳴器規格如下:
電壓:4–8VDC
最大電流:30MA/5VDC
最小聲壓=>85db/10cm
諧振頻率2500+–300HZ
工作溫度:-20——70度
改換普通小喇叭試試看。
註:
蜂鳴器品質相差很多,學生實驗用的比較便宜,性能差別很大,可能發出來的聲音品質會差距很大,甚至造成當機。
A.蜂鳴器可分為電磁式及壓電式兩種
1.電磁式:由電流驅動,聲音較大但較為耗電。
2.壓電式:半導體電壓轉換陶磁片振動,由電壓驅動(陶磁片),較省電但聲音較小。
B.無論電磁式或壓電式依其驅動方式又分為兩種:自激式與他激式
1.自激式(有源):內藏驅動電路,只需直流電即可動作。
2.他激式(無源):內無驅動電路,需加入交流電源及動作訊號才可動作。
注意,這裡的“源”不是指電源。而是指震盪源。
(一)無源蜂鳴器的特點是:
(1)無源內部不帶震盪源,所以如果用直流信號無法令其鳴叫。必須用2K~5K的方波去驅動它
(2)聲音頻率可控,可以做出“多來米發索拉西”的效果。
(3)在一些特例中,可以和LED複用一個控制口
(二)有源蜂鳴器的特點是:
(1)有源蜂鳴器內部帶震盪源,所以只要一通電就會叫
(2)程式控制方便,單片機一個高低電平就可以讓其發出聲音,而無源蜂鳴器卻做不到。
參考資料:http://www.cpu.com.tw/kh/elec/buzz/buzz-s.html
http://goods.ruten.com.tw/item/show?21537607828784
———————————-
相關連結:
初級班課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433
WFduino課前準備
http://blog.ilc.edu.tw/blog/blog/868/post/97509/636665
WFduino第一課(概論、連接)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/636745
WFduino第二課(LED)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/637840
WFduino第三課(用鍵盤控制LED)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/637841
WFduino第四課(3顆LED紅綠燈)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/637850
WFduino第五課(PWM模擬類比輸出)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/638450
WFduino第六課(RGB三色LED)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/638508
WFduino第七課(蜂鳴器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/638509
WFduino第八課(按鍵)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639090
WFduino顏色猜猜機(第8-1課)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639091
WFduino第九課(可變電阻)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639092
WFduino第十課(光敏電阻)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639093
WFduino第十一課(伺服馬達)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639094
WFduino第十二課(超音波感測器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639095
WFduino第十三課(繼電器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096
WFduino第十四課(人體紅外線感測器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/640850
WFduino第十五課(主動式紅外線感測器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/640852
WFduino第十六課(七段顯示器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/640853
英文聽音打字練習(WFduino)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/636484
會說時間的鬧鐘(WFduino)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/637772
會說話的九九乘法表(WFduino)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/636482
WFduino Chrome App
http://blog.ilc.edu.tw/blog/blog/868/post/97509/637303
WFduino語音控制(forcratchX)
http://blog.ilc.edu.tw/blog/blog/868/post/10898/635592
WFduino無線操控arduino
http://blog.ilc.edu.tw/blog/blog/868/post/97509/636819
WFduino原廠使用方法介紹網頁
http://wf8266.com/wf8266r/tutorials/65_Sx4ABlocks
WFduino for ScratchX
http://blog.ilc.edu.tw/blog/blog/868/post/10898/635190
WF8266R雲端外部感應器
http://blog.ilc.edu.tw/blog/blog/868/post/10898/633305
文章來源:WFduino第七課(蜂鳴器) 由 roc 發表。