第9天我要實作的是蜂鳴器撥放歌曲。
那首先是這次需要的模組
蜂鳴器
接線圖
實體圖
再來是arduino部分
首先我需要先設定蜂鳴器的頻率,這些頻率基本上在網上都能收到。
接著是設定延遲的數值及輸出腳位。
接著就可以利用tone(腳位,發音頻率,延時)函數來使其發應,tone的延時是指發音的時間,所以下面需要利用delay來讓它有拍子出來。
接著將歌打完後上傳就可以聽到一整收個的旋律了。
程式碼(小星星)
#define DO 262
#define RE 294
#define MI 330
#define FA 349
#define SO 392
#define LA 440
#define SI 493
#define HDO 523
const int INTERVAL=500;
const byte SP_PIN=11;
void setup(){
pinMode(SP_PIN,OUTPUT);
}
void loop() {
tone(SP_PIN,DO,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,DO,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,SO,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,SO,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,LA,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,LA,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,SO,INTERVAL);
delay(INTERVAL*2);
tone(SP_PIN,FA,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,FA,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,MI,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,MI,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,RE,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,RE,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,DO,INTERVAL);
delay(INTERVAL*2);
tone(SP_PIN,SO,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,SO,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,FA,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,FA,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,MI,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,MI,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,RE,INTERVAL);
delay(INTERVAL*2);
tone(SP_PIN,SO,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,SO,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,FA,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,FA,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,MI,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,MI,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,RE,INTERVAL);
delay(INTERVAL*2);
tone(SP_PIN,DO,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,DO,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,SO,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,SO,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,LA,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,LA,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,SO,INTERVAL);
delay(INTERVAL*2);
tone(SP_PIN,FA,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,FA,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,MI,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,MI,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,RE,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,RE,INTERVAL);
delay(INTERVAL);
tone(SP_PIN,DO,INTERVAL);
delay(INTERVAL*3);
}