新DiFi第8課蜂鳴器
聲音的三要素
1.音量(響度) :聲音的大小(強弱),聲波的振幅(即振動的能量),振幅愈大,響度愈大,單位為分貝(dB)。
2.音調(音頻) :聲音的高低,聲波的頻率,振動愈快,頻率愈大,音調愈高,單位為赫茲(Hz)(次/秒)。
3.音色(音品) :聲音的特色,聲波的波形,不同的發聲體會有不同的波形。
壹、音量測試
使用Jump直接將D8和BEEP接上。
利用類比輸出(PWM)模擬不同的電壓輸出,讓蜂鳴器發出不同的音量。
先拉一個[腳位(號碼)模式設為(OUTPUT)]的積木。
做一個變數[音量],[腳位(8類比輸出(音量)],改變[音量]的數值,輸出的電壓就會改變,蜂鳴器發出的音量也就跟著改變。
將音量變數由255慢慢減少,蜂鳴器發出的音量就愈來愈小聲。
程式下載:音量.sb2
延伸:
聲音控制LED顏色
LED顏色隨音量大小而改變
程式下載:音量(亮燈).sb2
貳、音調改變
一、聽力測試
人類能聽到的音調頻率大約在20Hz到20000Hz之間,事實上每個人能聽到的範圍都不一樣。
利用蜂鳴器來測試您能夠聽到的音調(頻率)範圍。
程式執行時輸入您要聽的頻率,蜂鳴器就會發出一秒鐘的該頻率。
程式下載:聽力測驗.sb2
實際上因為蜂鳴器的規格限制,及scratch+DiFi的規格限制,很多頻率是無法產生聲音的。或是聽到的其實不是本來設定的頻率。
二、播放一聲Do
聲音的高低就是聲波的頻率得快慢,聲音振動愈快,頻率愈大,發出的音調愈高,單位為赫茲(Hz)(次/秒)。
先拉一個[腳位(號碼)模式設為OUTPUT]的積木,設定數位腳位D8為輸出。
使用 [腳位(8)播放音調,頻率為:(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 | 2 | 3 | 4 | 5 | 6 | 7 |
唱名 | C | D | E | F | G | A | B |
音名 | Do | Re | Mi | Fa | Sol | La | Si
|
1.直接編曲
直接在 [腳位(8)播放音調,頻率為:(C1,262)Hz,時間為:(500)ms] 積木上選擇要發出的音階頻率,或是參考上面的音階-頻率對照表,設定不同音階對應的頻率。
依照歌曲需求拉一些音調播放積木就可以組合成一首歌了。
記得每個音之後都要接等待幾秒,讓音階唱完。
程式下載:小星星.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聲改成音樂。
六、鬧鐘
設定時間到,蜂鳴器要發出聲音。
檔案下載:鬧鐘.sb2
複雜版請參考http://blog.ilc.edu.tw/blog/blog/868/post/104089/695595
——————————–
註:
DiFi搭配的是3.3V有源蜂鳴器。
蜂鳴器品質相差很多,學生實驗用的比較便宜,性能差別很大,可能發出來的聲音品質會差距很大,甚至造成當機。
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
———————————-
相關連結:
新DiFi課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/104089/678192
DiFi課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/100870/660551
WFduino(Arduino)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433