色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>和弦Netduino音樂播放器開源分享

和弦Netduino音樂播放器開源分享

2022-11-08 | zip | 0.14 MB | 次下載 | 免費(fèi)

資料介紹

描述

在這個(gè)項(xiàng)目中,您將使用 piezos 創(chuàng)建一個(gè)多通道音樂播放器。示例代碼播放帶有旋律和貝斯線的假日經(jīng)典鈴兒響叮當(dāng)。

這個(gè)項(xiàng)目你只需要一個(gè) Netduino 和兩個(gè)壓電,但我喜歡使用串聯(lián)電阻來控制音量。您可以選擇添加兩個(gè)隨著音樂點(diǎn)亮的 LED

所有硬件都由Netduino.Foundation中的驅(qū)動(dòng)程序控制,所有音樂邏輯都在 GitHub 存儲(chǔ)庫中提供。您甚至可以通過編輯 SongBook 類來添加新歌曲。

第 1 步 - 組裝電路

對(duì)于這個(gè)項(xiàng)目,連接你的面包板和 Netduino,如 Fritzing 圖中所示:

pYYBAGNom3WAELI1AAGCQYOGlnc996.png
?

?

我們將引腳 2 和 4 用于 LED,但它們可以由任何數(shù)字輸出引腳驅(qū)動(dòng)。

對(duì)于 Piezos,我們使用引腳 9 和 11,建議使用它們,因?yàn)樗鼈兌际菃⒂?PWM 的引腳并且它們不共享定時(shí)器。

第 2 步 - 下載源代碼

轉(zhuǎn)到https://github.com/adrianstevens/NetduinoSamples并克隆或下載 repo。具體來說,我們想要XMasPlayer文件夾中的代碼。

第 3 步 - 打開并探索項(xiàng)目

在 Windows 上的 Visual Studio 2015 或 macOS 上的 Visual Studio for Mac 中打開 XMasPlayer 項(xiàng)目。

首先打開App.cs,您將在此處配置硬件并播放歌曲。構(gòu)造函數(shù)調(diào)用InitializePeripherals方法,這是我們?cè)O(shè)置壓電和 LED 的方法。現(xiàn)在是確保代碼中定義的引腳與我們的物理連接匹配的好時(shí)機(jī)。

我們還創(chuàng)建了一個(gè)PushButton對(duì)象以連接到 Netduino 的板載按鈕。我們將使用它來開始播放我們的歌曲。

private void InitializePeripherals()
{
    ledMelody = new Led(N.Pins.GPIO_PIN_D4);
    ledBass = new Led(N.Pins.GPIO_PIN_D2);
    speakerMelody = new PiezoSpeaker(N.PWMChannels.PWM_PIN_D9);
    speakerBass = new PiezoSpeaker(N.PWMChannels.PWM_PIN_D11);
    buttonPlay = new PushButton(N.Pins.ONBOARD_BTN, Netduino.Foundation.CircuitTerminationType.Floating);
    buttonPlay.Clicked += OnButtonPlay;
}

接下來,查看SongBook文件夾中的代碼。該文件夾有兩個(gè)模型對(duì)象,一個(gè)用于音符,一個(gè)用于樂曲。我們的歌曲由一系列音符組成,一首為旋律,另一首為貝斯。如果你想要兩個(gè)以上的聲音,你可以擴(kuò)展這個(gè)類來添加額外的音符。

SongBook 類包含一組歌曲,我們只有添加鈴兒響鈴的代碼,但可以添加其他的。您會(huì)注意到歌曲被定義為字符串的集合,在音符和長(zhǎng)度之間交替。然后我們?cè)贜ote類中使用反射來加載正確的值。

最后,回到App類,看看PlaySong方法。這種方法循環(huán)播放所有旋律和低音音符,并將壓電設(shè)置為正確的頻率,并隨著音樂打開和關(guān)閉 LED。

private void PlaySong(Song song)
{
   //smallest note length is a 32nd note 
   //change value to adjust tempo 
   var len32Note = 1500 / 32;
   //index of the currently playing note
   int melodyIndex = 0;
   int bassIndex = 0;
   //remaining steps for the currently playing note
   int melodyRemaining = 0;
   int bassRemaining = 0;
   //loop until we've played every melody and bass note
   while (melodyIndex < song.Melody.Length && 
           bassIndex < song.Bass.Length)
   {
       if (melodyRemaining == 0 && melodyIndex < song.Melody.Length)
       {
           speakerMelody.StopTone();
           ledMelody.IsOn = false;
           //get the length of the next note
           melodyRemaining = song.Melody[melodyIndex].Length;
           //if the note isn't silence (i.e. don't play rests)
           if (song.Melody[melodyIndex].Pitch != 0)
           {
               speakerMelody.PlayTone(song.Melody[melodyIndex].Pitch);
               ledMelody.IsOn = true;
           }
           melodyIndex++;
       }
       melodyRemaining--;
       if (bassRemaining == 0 && bassIndex < song.Bass.Length)
       {
           speakerBass.StopTone();
           ledBass.IsOn = false;
           bassRemaining = song.Bass[bassIndex].Length;
           if (song.Bass[bassIndex].Pitch != 0)
           {
               speakerBass.PlayTone(song.Bass[bassIndex].Pitch);
               ledBass.IsOn = true;
           }
           bassIndex++;    
       }
       bassRemaining--;
       Thread.Sleep(len32Note);
   }
   Thread.Sleep(len32Note * 32);
   ledMelody.IsOn = false;
   ledBass.IsOn = false;
   speakerMelody.StopTone();
   speakerBass.StopTone();
}

第 4 步 - 運(yùn)行項(xiàng)目

單擊 Visual Studio 中的運(yùn)行按鈕開始播放音樂!部署應(yīng)用程序后,按下 Netduino 的板載按鈕即可播放鈴兒響叮當(dāng)!

查看 Netduino.Foundation!

有很多方法可以擴(kuò)展這個(gè)項(xiàng)目。您可以添加更多歌曲,添加更多壓電揚(yáng)聲器,甚至添加 LED 顯示屏以顯示歌曲名稱或音符。這很容易使用Netduino.Foundation。

  • 它帶有一個(gè)巨大的外設(shè)驅(qū)動(dòng)程序庫,其中包含市場(chǎng)上最常見的傳感器和外設(shè)的驅(qū)動(dòng)程序。
  • 所有外圍驅(qū)動(dòng)程序都通過內(nèi)置功能進(jìn)行了簡(jiǎn)化,并由干凈、現(xiàn)代的 API 公開。
  • 這個(gè)項(xiàng)目得到了一個(gè)不斷發(fā)展的社區(qū)的支持,該社區(qū)不斷致力于構(gòu)建很酷的互聯(lián)事物,并且總是樂于幫助新人并討論新項(xiàng)目。

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

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
主站蜘蛛池模板: 日本高清免费一本视频在线观看| 午夜看片网| 亚洲一区精品伊人久久伊人| adc我们的永久网址| 河南老太XXXXXHD| 日本真人啪啪试看30秒| 中文字幕一区二区三区在线不卡| 国产 有码 无码 电影| 乱奷XXXXXHD| 性一交一乱一色一视频| 柏木舞子在线| 麻豆一二三区果冻| 亚洲精品久久午夜麻豆| 东北成人社区| 欧美极品尿交| 中文字幕福利视频在线一区| 国产伦精品一区二区三区| 琪琪see色原网色原网站| 中国女人内谢69XXXXXA片| 国产午夜三区视频在线| 日韩视频中文字幕精品偷拍| 99re久久热在线视频| 久久九九日本韩国精品| 亚洲国产精品无码中文字满| 国产AV99激情久久无码天堂| 女教师二十三歳| 中文字幕一区二区三区在线不卡 | 工口肉肉彩色不遮挡| 墨西哥美女主播| 在线看无码的免费网站| 寂寞夜晚视频高清观看免费| 无码观看AAAAAAAA片| 高清不卡伦理电影在线观看| 奇米精品一区二区三区在线观看| 99精品国产高清自在线看超| 啦啦啦影院视频在线看高清...| 野花香HD免费高清版6高清版 | 男人都懂www深夜免费网站| 在线免费视频a| 久久精品99国产精品日本| 亚洲人成无码久久久AAA片 |