<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## **MIDI音樂** > 本例向你展示如何從Arduino或Genuino板通過**標準5端子DIN接口**(standard 5 poles DIN)發送MIDI音符標準發送到MIDI樂器。 MIDI是**樂器數字接口**(**Musical Instrument Digital Interface**)的簡稱。它是用來控制電子合成器、編曲機以及其他樂器的一個很有用的協議。MIDI設備主要分為兩個大類:第一類是控制器(換句話說就是根據人類操作生成MIDI音符的設備)。第二類是合成器(包括采樣器、編曲機等等諸如此類),合成器讀取MIDI數據來發聲、發光或者產生其他效果。 MIDI其實是一個串口協議,在**比特率**?31250bit/s工作。板子內置的串口(包括MEGA板)能夠以這個速率傳輸數據。 MIDI?**字節**(byte )可以被分為兩種:**控制字節**和**數據字節**。控制字節值一般都>=128(十六進制0x80-0xFF)。數據字節值一般都在0到127之間(十六進制0x00-0x7F)。控制字節包含了音符播放、音符停止、滑音等諸如此類。數據字節則包含單個音符的音調、速度或者音符的強弱(響度),滑音的量等諸如此類。想要了解更多關于MIDI的細節,請參看互聯網上的各種MIDI協議說明書。 MIDI數據通常以十六進制計數,因為MIDI banks和MIDI樂器都用的是用16進制 想要了解更多關于MIDI,你可以了解下[introduction to MIDI?](http://www.tigoe.net/pcomp/code/communication/midi)或者[這個例子](http://itp.nyu.edu/physcomp/Labs/MIDIOutput)。 ### **所需硬件** Arduino Uno板或Genuino Uno板? MIDI母接口? 2個220Ω電阻? 跳線? 可用的MIDI設備(可選,為了測試)? 連接線 ### **電路** 根據MIDI協議要求,所有的MIDI接口都應是母口。? 下面展示如何連接MIDI母口:? ![圖片來自官網](http://img.blog.csdn.net/20160512173831258)? MIDI母頭5號引腳用一個220Ω電阻連接到數字引腳1? MIDI母頭2號連接到GND? MIDI母頭4號通過220Ω電阻+5V ### **原理圖** ![圖片來自官網](http://img.blog.csdn.net/20160512173858232) ### **代碼** 注意!如果你在用搭載ATmega32U4型號處理器的板子(比如DUE或者Leonardo),請不要用Serial(TX0/RX0),而應使用Serial1(TX1/RX1),在下列代碼中也要把Serial改為Serial1。 ~~~ /* MIDI音樂 本例向你展示如何是用1號引腳(串口傳送引腳)來發送MIDI音符數據。 如果將MIDI樂器連上MIDI樂器,Arduino就會不斷的“彈奏”F#-0 (0x1E)到F#-5 (0x5A)的音階。 電路搭建: * MIDI母頭5號引腳用一個220Ω電阻連接到數字引腳1 * MIDI母頭2號連接到GND * MIDI母頭4號通過220Ω電阻+5V 連接MIDI線到接頭上,并且把MIDI線插上樂器。然后就享受Arduino演奏家的奇妙旋律吧! 代碼是公開的 */ void setup() { // 給串口設置MIDI的波特率: Serial.begin(31250); } void loop() { //從F#-0 (0x1E)彈到F#-5 (0x5A): for (int note = 0x1E; note < 0x5A; note ++) { //在參數一傳入了channel 1 (0x90),參數二傳入了一些音符值 (note), 參數二傳入了silent 速度(0x00): noteOn(0x90, note, 0x00); delay(100); } } // 彈奏音符,請不要嘗試給第一個參數cmd傳入任何大于127的值: void noteOn(int cmd, int pitch, int velocity) { Serial.write(cmd); Serial.write(pitch); Serial.write(velocity); } ~~~ ### **相關資料** [serial.begin()](https://www.arduino.cc/en/Serial/Begin)? [for()循環](https://www.arduino.cc/en/Reference/For)?
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看