精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開(kāi)發(fā)>基于Arduino的電子音樂(lè)發(fā)聲器的設(shè)計(jì)方案

基于Arduino的電子音樂(lè)發(fā)聲器的設(shè)計(jì)方案

2017-12-06 | rar | 0.4 MB | 次下載 | 1積分

資料介紹

 摘要:Arduino 是一塊基于開(kāi)放原始代碼的Simple I/O平臺(tái),具有使用簡(jiǎn)單,功能多樣,價(jià)格低廉等優(yōu)點(diǎn),廣泛應(yīng)用于電子系統(tǒng)設(shè)計(jì)和互動(dòng)產(chǎn)品開(kāi)發(fā)方面。系統(tǒng)以ArduinoUNO開(kāi)發(fā)平臺(tái)為控制核心,充分利用其內(nèi)部Tone 庫(kù),以數(shù)組形式組織樂(lè)曲的音高和節(jié)拍數(shù)據(jù),通過(guò)串口和外圍無(wú)源蜂鳴器進(jìn)行通信,實(shí)現(xiàn)了電子音樂(lè)播放,隨音樂(lè)節(jié)拍亮滅的LED為設(shè)計(jì)添加了溫馨感。本系統(tǒng)成本低廉,可靠性高,可實(shí)現(xiàn)樂(lè)曲DIY,有良好的擴(kuò)展性。
  引言
  Arduino是一個(gè)基于開(kāi)放原始代碼的Simple I/O平臺(tái),由硬件MCU及外圍電路)和軟件(編程接口和語(yǔ)言)兩部分組成。它基于單片機(jī)系統(tǒng)開(kāi)發(fā),具有使用簡(jiǎn)單,功能多樣,價(jià)格低廉等優(yōu)點(diǎn),廣泛應(yīng)用于電子系統(tǒng)設(shè)計(jì)和互動(dòng)產(chǎn)品開(kāi)發(fā)方面。目前市場(chǎng)所見(jiàn)電子音樂(lè)發(fā)聲器調(diào)節(jié)不便,價(jià)格較高,不能很好地實(shí)現(xiàn)和使用者的交互。本電子音樂(lè)發(fā)聲器的設(shè)計(jì)以ArduinoUNO板為控制核心,在相關(guān)樂(lè)理基礎(chǔ)知識(shí)上,充分利用Arduino編輯器自帶Tone擴(kuò)展庫(kù),以數(shù)組形式輸出各音符的指定頻率和節(jié)拍,送到無(wú)源蜂鳴器和彩色LED,實(shí)現(xiàn)了音樂(lè)播放和隨音樂(lè)節(jié)奏亮滅的LED效果。在操作方面,可以通過(guò)簡(jiǎn)單修改數(shù)組數(shù)據(jù)(音高和節(jié)拍)實(shí)現(xiàn)電子音樂(lè)的DIY,在欣賞美妙音樂(lè)的同時(shí),充分發(fā)揮使用者的創(chuàng)造性。
  1 系統(tǒng)硬件設(shè)計(jì)
  本發(fā)聲器以ArduinoUNO為控制核心,外部電路包括控制電路、蜂鳴器電路、LED顯示節(jié)奏電路,系統(tǒng)硬件電路圖如圖1所示。開(kāi)關(guān)S1對(duì)整個(gè)電路起控制作用,當(dāng)檢測(cè)到開(kāi)關(guān)按下,即D3端口為高電平時(shí),電路開(kāi)始工作。預(yù)先組織好的音符數(shù)據(jù)(音高和節(jié)拍)通過(guò)數(shù)字端口D8發(fā)送到5V無(wú)源蜂鳴器J1,無(wú)源蜂鳴器接收到特定頻率的(即特定的音高)方波去驅(qū)動(dòng)它,可以發(fā)出“Do Re Mi Fa Sol La Si”的音樂(lè)效果。各數(shù)據(jù)加上延時(shí)(即節(jié)拍數(shù)據(jù))即可實(shí)現(xiàn)樂(lè)曲的播放。無(wú)源蜂鳴器的優(yōu)點(diǎn)是聲音頻率可控,可以和LED復(fù)用一個(gè)控制口。所以,D8端口的數(shù)據(jù)同時(shí)加到LED1、LED2、LED3上時(shí),其節(jié)奏性的亮滅實(shí)現(xiàn)了節(jié)拍的顯示。
  基于Arduino的電子音樂(lè)發(fā)聲器的設(shè)計(jì)方案
  2 軟件設(shè)計(jì)
  2.1 樂(lè)曲播放原理
  2.1.1 單音符的演奏原理
  一首樂(lè)曲由若干音符組成。從物理的角度來(lái)說(shuō),每一個(gè)音符唯一對(duì)應(yīng)一個(gè)發(fā)聲頻率。Arduino只要把這個(gè)頻率數(shù)據(jù)發(fā)送給蜂鳴器或喇叭,就會(huì)發(fā)出對(duì)應(yīng)的音符。Arduino IDE自帶的頭文件“pitches.h”中以宏定義的形式給出了各個(gè)音符和頻率的對(duì)應(yīng)關(guān)系表。例如“#define NOTE_C4 262”語(yǔ)句給出了鋼琴標(biāo)準(zhǔn)鍵盤(pán)小字一組C4(唱名為Do)按鍵對(duì)應(yīng)的頻率是262Hz。因此,只要能夠識(shí)別給定的樂(lè)譜,就能得到一組對(duì)應(yīng)該樂(lè)曲的頻率數(shù)據(jù),即制作出其數(shù)組形式的韻律函數(shù)。
  2.1.2 節(jié)拍
  除了音高,構(gòu)成旋律的另一個(gè)重要因素是節(jié)拍,即音符演奏的持續(xù)時(shí)間。它決定了音樂(lè)進(jìn)行的快慢程度。本發(fā)聲器的設(shè)計(jì)中,通過(guò)讀取旋律的節(jié)拍速度,來(lái)確定基本的延時(shí)單位。如二分音符為一拍,每拍延時(shí)1/2秒,則四分音符延時(shí)1/4秒,八分音符延時(shí)為1/8秒,均為基本延時(shí)的偶數(shù)倍。最終,采用了noteDurations[thisNote]數(shù)組來(lái)存放每個(gè)音符的節(jié)拍數(shù)據(jù)。在應(yīng)用過(guò)程中,我們也可以通過(guò)調(diào)節(jié)基本延時(shí)來(lái)調(diào)節(jié)樂(lè)曲速度。頻率數(shù)據(jù)按照節(jié)拍數(shù)據(jù)的延時(shí)來(lái)驅(qū)動(dòng)蜂鳴器,就實(shí)現(xiàn)了一首樂(lè)曲的播放。
  基于Arduino的電子音樂(lè)發(fā)聲器的設(shè)計(jì)方案
  2.2 樂(lè)曲播放的軟件實(shí)現(xiàn)
  ArduinoIDE包含的Tone庫(kù)可以很方便地幫助用戶(hù)制作音樂(lè)。本設(shè)計(jì)主要采用了Tone(pin, frequency, duration)函數(shù)來(lái)產(chǎn)生電子音樂(lè)。此函數(shù)中,pin表示頻率數(shù)據(jù)的數(shù)字輸出接口,int型;frequency是音符頻率,int型;duration是節(jié)拍數(shù)據(jù),單位是毫秒,unsigned long型。只要把上述頻率和節(jié)拍數(shù)據(jù)連續(xù)賦值給Tone函數(shù),就可以實(shí)現(xiàn)樂(lè)曲的播放,系統(tǒng)軟件實(shí)現(xiàn)的程序流程圖見(jiàn)圖2。
  Arduino語(yǔ)言是以setup( )開(kāi)頭,loop( )作為主體的一個(gè)程序構(gòu)架。本發(fā)聲器的軟件實(shí)現(xiàn)過(guò)程中, loop( )函數(shù)內(nèi)部包含了控制按鍵判斷函數(shù),樂(lè)曲播放函數(shù)和延時(shí)函數(shù)。其中,樂(lè)曲播放函數(shù)play( )是發(fā)聲器軟件實(shí)現(xiàn)的核心語(yǔ)句,函數(shù)內(nèi)所有語(yǔ)句周而復(fù)始地循環(huán)執(zhí)行。下面以《生日快樂(lè)歌》(簡(jiǎn)譜見(jiàn)圖3)的第一小節(jié)為例,給出了play( )函數(shù)的實(shí)現(xiàn)過(guò)程。
  
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  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ì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(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  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)