<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 音樂鍵盤-tone函數的運用 > 本例向你展示如何使用tone()函數在不同的傳感器被按下時發出不同的音調。 ### 所需硬件 Arduino板Genuino板? 8Ω揚聲器? 3個**壓敏電阻**(FSR)? 3個10kΩ電阻? 100Ω電阻? 跳線/面包板連接線? 面包板 ### 電路 將揚聲器用一個100Ω電阻連接到數字引腳8,揚聲器另一個引腳連到GND。 并聯連接你的三個壓敏電阻(或者其他類似傳感器)并將他們連接到5V。分別將三個壓敏電阻的引腳連接到A0-A2引腳,并且在A0-A2上分別用三個10kΩ電阻連接到GND,作為低電壓參照。 ![圖片來自官網](http://img.blog.csdn.net/20160424142430111) ### 原理圖 ![圖片來自官網](http://img.blog.csdn.net/20160424142445220) ### 代碼 下面的代碼會讀取3個傳感器的模擬值。每個傳感器與音調數組中一個音調相對。如果任何傳感器的值超過臨界,那么就播放對應的音調。 下面是代碼: ~~~ /* 音樂鍵盤-tone函數的運用 在不同傳感器被按下時發出不同的音調 電路連接: * 3個壓敏電阻分別連接到5V和A0-A2 (原文錯誤,原文說的是A0-A5但實際沒那么多鍵) * 3個10kΩ電阻分別連接到GND和A0-A2 (原文錯誤,原文說的是A0-A5但實際沒那么多鍵) * 8Ω揚聲器連接到8號引腳 * 代碼是公開的 */ #include "pitches.h" const int threshold = 10; // 播放聲音的傳感器臨界值 // 要播放的音符,與三個傳感器匹配: int notes[] = { NOTE_A4, NOTE_B4, NOTE_C3 }; void setup() { } void loop() { for (int thisSensor = 0; thisSensor < 3; thisSensor++) { // 獲取傳感器的值: int sensorReading = analogRead(thisSensor); // 如果傳感器的讀數大于臨界值(壓力足夠): if (sensorReading > threshold) { // 播放與這個傳感器對應的音符: tone(8, notes[thisSensor], 20); } } } ~~~ 這個工程用到了另一個頭文件:**pitches.h**。這個文件包含了所有常見的音符對應的音調值。比如**NOTE_C4**代表**中央C**,**NOTE_FS4**代表**F#**以此類推。這個音符表是Brett Hagman(tone函數原型的作者)寫的。當你想要發出播放音符的時候,這個頭文件可能會派大用處。 為了包含這個新的pitches.h 文件,你可以點擊串口監視器下面的**下箭頭按鈕**,選擇**新代碼頁**(**New Tab**)選項。或者按快捷鍵**Ctrl+Shift+N**。? ![圖片來自官網](http://img.blog.csdn.net/20160424142507546) 接著,粘貼以下代碼到代碼編輯區域: ~~~ /************************************************* * 公共常量 *************************************************/ #define NOTE_B0 31 #define NOTE_C1 33 #define NOTE_CS1 35 #define NOTE_D1 37 #define NOTE_DS1 39 #define NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #define NOTE_GS1 52 #define NOTE_A1 55 #define NOTE_AS1 58 #define NOTE_B1 62 #define NOTE_C2 65 #define NOTE_CS2 69 #define NOTE_D2 73 #define NOTE_DS2 78 #define NOTE_E2 82 #define NOTE_F2 87 #define NOTE_FS2 93 #define NOTE_G2 98 #define NOTE_GS2 104 #define NOTE_A2 110 #define NOTE_AS2 117 #define NOTE_B2 123 #define NOTE_C3 131 #define NOTE_CS3 139 #define NOTE_D3 147 #define NOTE_DS3 156 #define NOTE_E3 165 #define NOTE_F3 175 #define NOTE_FS3 185 #define NOTE_G3 196 #define NOTE_GS3 208 #define NOTE_A3 220 #define NOTE_AS3 233 #define NOTE_B3 247 #define NOTE_C4 262 #define NOTE_CS4 277 #define NOTE_D4 294 #define NOTE_DS4 311 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_FS4 370 #define NOTE_G4 392 #define NOTE_GS4 415 #define NOTE_A4 440 #define NOTE_AS4 466 #define NOTE_B4 494 #define NOTE_C5 523 #define NOTE_CS5 554 #define NOTE_D5 587 #define NOTE_DS5 622 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_FS5 740 #define NOTE_G5 784 #define NOTE_GS5 831 #define NOTE_A5 880 #define NOTE_AS5 932 #define NOTE_B5 988 #define NOTE_C6 1047 #define NOTE_CS6 1109 #define NOTE_D6 1175 #define NOTE_DS6 1245 #define NOTE_E6 1319 #define NOTE_F6 1397 #define NOTE_FS6 1480 #define NOTE_G6 1568 #define NOTE_GS6 1661 #define NOTE_A6 1760 #define NOTE_AS6 1865 #define NOTE_B6 1976 #define NOTE_C7 2093 #define NOTE_CS7 2217 #define NOTE_D7 2349 #define NOTE_DS7 2489 #define NOTE_E7 2637 #define NOTE_F7 2794 #define NOTE_FS7 2960 #define NOTE_G7 3136 #define NOTE_GS7 3322 #define NOTE_A7 3520 #define NOTE_AS7 3729 #define NOTE_B7 3951 #define NOTE_C8 4186 #define NOTE_CS8 4435 #define NOTE_D8 4699 #define NOTE_DS8 4978 ~~~ ### 相關資料 [array()](http://www.arduino.cc/en/Reference/Array)? [for()](http://www.arduino.cc/en/Reference/For)? [tone()](http://www.arduino.cc/en/Reference/Tone)?
                  <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>

                              哎呀哎呀视频在线观看