在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>Arduino歌曲播放器

Arduino歌曲播放器

2022-11-11 | zip | 0.20 MB | 次下載 | 免費

資料介紹

描述

項目制作方法:

第一的:

當然是 Arduino

第二:

你需要一個揚聲器來插腳 8。

我在項目中使用了玩具中的揚聲器。

編碼:

#include "pitches.h" //includes pitches.h file
#include "arrays.h" //includes arrays.h file
#define Speaker1 8
volatile byte Break = false;// if the song should stop or not
void setup() {
 pinMode(Speaker1,OUTPUT);// defines port 8
}
void BreakTheSong()// the function used to stop any song
{
Break = true;//force the song to stop
}
void playSong(int song ,unsigned long repeatTimes){
 for(int t = 0; t < repeatTimes; t++){
  for(int i = starting_and_ending[ song-1 ] ; i < starting_and_ending[ song ] ; i++)// this loop will play notes in the songs
 {
  tone(Speaker1,tones[i] ,durations[i]); //play a note
  delay(delays[i]);// wait for the tone to stop
  if(Break == true) //when "Break" is activated, break the song
   {Break = false; //stop breaking other songs
    break;//stop the current song
   }
 }
 }
}
void playSongForever(int song){
 do{
  for(int i = starting_and_ending[ song-1 ] ; i < starting_and_ending[ song ] ; i++)// this loop will play note tones[0] to tones[31]
 {
  tone(Speaker1,tones[i] ,durations[i]); //plays a note
  delay(delays[i]);// makes the arduino wait for the tone to stop
  if(Break == true)break; //when the interrupt is activated
 }
 }while(Break == false);
 Break = false;
}
void loop() {
playSong(1,1);// play the first song (happy birth day)
 //repeated 1 times
 playSong(2,1);// play the second song (super mario bros)
// repeated 1 times
} 

數組.h

int starting_and_ending[] {0,25,123};// the number of the first and 
final note for each song
volatile int tones[] //the notes for every song (DON'T DELETE AT ALL!)
{
//HappyBirthDay tones:
/*1*/NOTE_D4,/*2*/NOTE_D4,/*3*/NOTE_E4,/*4*/NOTE_D4,/*5*/NOTE_G4,/*6*/NOTE_FS4,/*7*/NOTE_D4,
/*8*/NOTE_D4,/*9*/NOTE_E4,/*10*/NOTE_D4,/*11*/NOTE_A4,/*12*/NOTE_G4,/*13*/NOTE_D4,/*14*/NOTE_D4,/*15*/NOTE_D5,/*16*/NOTE_B4,
/*17*/NOTE_G4,/*18*/NOTE_FS4,/*19*/NOTE_E4,/*20*/NOTE_C5,/*21*/NOTE_C5,/*22*/NOTE_B4,/*23*/NOTE_G4,/*24*/NOTE_A4,/*25*/NOTE_G4,
// super mario bros tones:
/*26*/NOTE_E4,/*27*/NOTE_E4,/*28*/NOTE_E4,/*29*/NOTE_C4,/*30*/NOTE_E4,/*31*/NOTE_G4,/*32*/NOTE_G3,
/*33*/NOTE_C4,/*34*/NOTE_G3,/*35*/NOTE_E3,/*36*/NOTE_A3,/*37*/NOTE_B3,/*38*/NOTE_AS3,/*39*/NOTE_A3,/*40*/NOTE_G3,/*41*/NOTE_E4,
/*42*/NOTE_G4,/*43*/NOTE_A4,/*44*/NOTE_F4,/*45*/NOTE_G4,/*46*/NOTE_E4,/*47*/NOTE_C4,/*48*/NOTE_D4,/*49*/NOTE_B3,/*50*/NOTE_C4,
/*51*/NOTE_G3,/*52*/NOTE_E3,/*53*/NOTE_A3,/*54*/NOTE_B3,/*55*/NOTE_AS3,/*56*/NOTE_A3,/*57*/NOTE_G3,/*58*/NOTE_E4,/*59*/NOTE_G4,
/*60*/NOTE_A4,/*61*/NOTE_F4,/*62*/NOTE_G4,/*63*/NOTE_E4,/*64*/NOTE_C4,/*65*/NOTE_D4,/*66*/NOTE_B3,
/*67*/NOTE_G4,/*68*/NOTE_FS4,/*69*/NOTE_F4,
/*70*/NOTE_D4,/*71*/NOTE_E4,/*72*/NOTE_G3,/*73*/NOTE_A3,/*74*/NOTE_C4,/*75*/NOTE_A3,/*76*/NOTE_C4,
/*77*/NOTE_D4,/*78*/NOTE_G4,/*79*/NOTE_FS4,/*80*/NOTE_F4,/*81*/NOTE_D4,/*82*/NOTE_E4,/*83*/NOTE_C5,/*84*/NOTE_C5,
/*85*/NOTE_C5,
/*86*/NOTE_G4,/*87*/NOTE_FS4,/*88*/NOTE_F4,/*89*/NOTE_D4,/*90*/NOTE_E4,/*91*/NOTE_G3,
/*92*/NOTE_A3,/*93*/NOTE_C4,/*94*/NOTE_A3,/*95*/NOTE_C4,/*96*/NOTE_D4,/*97*/NOTE_DS4,/*98*/NOTE_D4,/*99*/NOTE_C4,
/*100*/NOTE_C4,
/*101*/NOTE_C4,/*102*/NOTE_C4,/*103*/NOTE_C4,/*104*/NOTE_D4,/*105*/NOTE_E4,/*106*/NOTE_C4,/*107*/NOTE_A3,
/*108*/NOTE_G3,/*109*/NOTE_C4,/*110*/NOTE_C4,/*111*/NOTE_C4,/*112*/NOTE_C4,/*113*/NOTE_D4,/*114*/NOTE_E4,/*115*/NOTE_C4,
/*116*/NOTE_C4,
/*117*/NOTE_C4,/*118*/NOTE_C4,/*120*/NOTE_D4,/*121*/NOTE_E4,/*122*/NOTE_C4,
/*123*/NOTE_A3,
};
volatile int delays[] //the delays for every song 
// (DON'T DELETE AT ALL!)
{
//HappyBirthDay delays:
/*1*/225,/*2*/200,/*3*/400,/*4*/400,/*5*/400,
/*6*/800,/*7*/225,/*8*/200,/*9*/400,/*10*/400,/*11*/400,/*12*/800,/*13*/225,/*14*/200,/*15*/400,/*16*/400,/*17*/400,/*18*/400,
/*19*/800,/*20*/225,/*21*/200,/*22*/400,/*23*/400,/*24*/400,/*25*/800,
// super mario bros tones:
/*26*/200,/*27*/300,/*28*/300,/*29*/200,/*30*/300,/*31*/600,/*32*/600 ,/*33*/450,/*34*/450,/*35*/450,/*36*/300,/*37*/300,/*38*/200
,/*39*/300,/*40*/200,/*41*/200,/*42*/200,/*43*/300,/*44*/200,/*45*/300,/*46*/300,/*47*/300,/*48*/200,/*49*/300
,/*50*/450,/*51*/450,/*52*/450,/*53*/300,/*54*/300,/*55*/200,/*56*/300,/*57*/200,/*58*/200,/*59*/200,/*60*/300,/*61*/200,/*62*/300
,/*63*/300,/*64*/300,/*65*/200,/*66*/1000,/*67*/200,/*68*/200,/*69*/200,/*70*/300,/*71*/300,/*72*/200,/*73*/200,/*74*/300,/*75*/200,
/*76*/200,/*77*/500,/*78*/200,/*79*/200,/*80*/200,/*81*/300,/*82*/300,/*83*/300,/*84*/200,/*85*/1000,
/*86*/200,/*87*/200,/*88*/200,/*89*/300,/*90*/300,/*91*/200,/*92*/200,/*93*/300,/*94*/200,/*95*/200,/*96*/500,/*97*/500,/*99*/500,
/*99*/1300,
/*100*/200,/*101*/300,/*102*/300,/*103*/200,/*104*/300,/*105*/200,/*106*/300,/*107*/200,
/*108*/700,/*109*/200,/*110*/300,/*111*/300,/*112*/200,/*113*/300,/*114*/1300,/*115*/200,/*116*/300,/*117*/300,
/*118*/200,/*119*/300,/*120*/200,/*121*/300,/*122*/200,/*123*/700 
};
volatile int durations[] //the durations for every song 
//(DON'T DELETE AT ALL!)
{
//HappyBirthDay durations:
/*2*/200,/*3*/200,/*4*/400,/*5*/400,/*6*/400,/*7*/400,/*8*/200,/*9*/200,/*10*/400,/*11*/400,/*12*/400,/*13*/400,/*14*/200,/*15*/200,
/*16*/400,/*17*/400,/*18*/400,/*19*/400,/*20*/400,/*21*/200,/*22*/200,/*23*/400,/*24*/400,/*25*/400,/*26*/400,
// super mario bros durations:
/*26*/200,/*27*/150,/*28*/150,/*29*/200,/*30*/150,/*31*/200,/*32*/200,/*33*/200,/*34*/200,/*35*/200,/*36*/200,/*37*/200,/*38*/200,
/*39*/200,/*40*/200,/*41*/200,/*42*/200,/*43*/200,/*44*/200,/*45*/200,/*46*/200,/*47*/200,/*48*/200,/*49*/200
,/*50*/200,/*51*/200,/*52*/200,/*53*/200,/*54*/200,/*55*/200,/*56*/200,/*57*/200,/*58*/200,/*59*/200,/*60*/200,/*61*/200,/*62*/200,
/*63*/200,/*64*/200,/*65*/200,/*66*/200
,/*67*/200,/*68*/200,/*69*/200,/*70*/200,/*71*/200,/*72*/200,/*73*/200,/*74*/200,/*75*/200,/*76*/200,/*77*/200,/*78*/200,/*79*/200,
/*80*/200,/*81*/200,/*82*/200,/*83*/200,/*84*/150,/*85*/200,
/*86*/200,/*87*/200,/*88*/200,/*89*/200,/*90*/200,/*91*/200,/*92*/200,/*93*/200,
/*94*/200,/*95*/200,/*96*/200,/*97*/200,/*98*/200,/*99*/200,
/*100*/200,/*101*/200,/*102*/200,/*103*/200,/*104*/200,/*105*/200,/*106*/200,/*107*/200,/*108*/200,/*109*/200,/*110*/200,/*111*/200,
/*112*/200,/*113*/200,/*114*/200,/*115*/200,/*116*/150,/*117*/200,
/*118*/200,/*119*/200,/*120*/200,/*121*/200,/*122*/200,/*123*/200,
}; 

球場.h

pitches.h 在項目的代碼部分。

代碼說明:

該代碼在代碼本身中進行了解釋

如何播放歌曲:

使用這些功能之一:playSongForever("song's number"):

永遠播放一首歌。

playSong("song's number","repeattimes"):播放帶有服裝重復編號的歌曲。

如何創作一首新歌:

  • 將歌曲的所有音符添加到tones[]array.h
  • 將歌曲的所有延遲添加到delays[]array.h
  • 將歌曲的所有持續時間添加到durations[]array.h
  • 如果新歌中第一個音符的編號不包含starting_and_ending[]array.h中,則包括第一個音符的編號和(最后一個音符的編號 + 1),否則只包括(最后一個音符的編號 + 1)。
  • 最后,播放歌曲!使用其中一個功能: playSongForever("song's number"):永遠播放一首歌。 playSong("song's number","repeattimes"):播放帶有服裝重復編號的歌曲。
  • 就是這樣!

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1A7159和A7139射頻芯片的資料免費下載
  2. 0.20 MB   |  55次下載  |  5 積分
  3. 2PIC12F629/675 數據手冊免費下載
  4. 2.38 MB   |  36次下載  |  5 積分
  5. 3PIC16F716 數據手冊免費下載
  6. 2.35 MB   |  18次下載  |  5 積分
  7. 4dsPIC33EDV64MC205電機控制開發板用戶指南
  8. 5.78MB   |  8次下載  |  免費
  9. 5STC15系列常用寄存器匯總免費下載
  10. 1.60 MB   |  7次下載  |  5 積分
  11. 6模擬電路仿真實現
  12. 2.94MB   |  4次下載  |  免費
  13. 7PCB圖繪制實例操作
  14. 2.92MB   |  2次下載  |  免費
  15. 8零死角玩轉STM32F103—指南者
  16. 26.78 MB   |  1次下載  |  1 積分

本月

  1. 1ADI高性能電源管理解決方案
  2. 2.43 MB   |  452次下載  |  免費
  3. 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
  4. 5.67 MB   |  141次下載  |  1 積分
  5. 3基于STM32單片機智能手環心率計步器體溫顯示設計
  6. 0.10 MB   |  137次下載  |  免費
  7. 4A7159和A7139射頻芯片的資料免費下載
  8. 0.20 MB   |  55次下載  |  5 積分
  9. 5PIC12F629/675 數據手冊免費下載
  10. 2.38 MB   |  36次下載  |  5 積分
  11. 6如何正確測試電源的紋波
  12. 0.36 MB   |  19次下載  |  免費
  13. 7PIC16F716 數據手冊免費下載
  14. 2.35 MB   |  18次下載  |  5 積分
  15. 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統EMC試驗方法及要求
  16. 1.97 MB   |  8次下載  |  10 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935121次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420062次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233088次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73810次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分
主站蜘蛛池模板: 99精品久久99久久久久久 | 伊人成人在线 | 狠狠丁香激情久久综合 | 国产手机免费视频 | 欧美色图久久 | 511韩国理论片在线观看 | 成人看片免费无限观看视频 | 亚洲天天综合 | 天天久久综合网站 | 欧美色啪 | 国产三级在线视频观看 | 午夜欧美在线 | 91福利国产在线观看网站 | 精品在线一区二区 | 国产亚洲视频在线 | 亚洲国产日韩女人aaaaaa毛片在线 | 天天操夜夜爱 | 操他射他影院 | 台湾三级毛片 | 日本加勒比高清一本大道 | 网站四虎1515hhcom | 日本三级理论 | 亚洲一区在线播放 | 台湾佬自偷自拍情侣在线 | 国产手机在线观看视频 | 狠狠五月深爱婷婷网免费 | 老师受年下高h男 | www操com| 日本三级在线视频 | 手机福利视频 | 精品黄色片 | 久久免费视频网站 | 日本免费一区二区三区视频 | ccav在线永久免费看 | 丁香六月五月婷婷 | 六月婷婷精品视频在线观看 | 午夜精品久久久久久久第一页 | 国卡一卡二卡三免费网站 | 黄色在线观看视频 | 天天操天天摸天天干 | 亚洲国产一区二区三区在线观看 |