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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 讀取數字引腳 > 這個例子展示了在通過USB,將Arduino或Genuino和電腦之間建立串口通信連接后,如何監測一個開關的狀態。 ### 所需硬件 * Arduino板Genuino板 * 記憶開關、按鍵或撥動開關 * 10kΩ電阻 * 面包板連接線 * **面包板** ### 電路 ![](https://box.kancloud.cn/b5f9c43c4cf23104bb2163dba6766d55_729x283.png) 用到三根線。紅色和黑色的線分別連接到面包板兩側豎直的兩排接口,以此擴展多個5V和GND的接口(紅色一排->紅色線->5V 藍色一排->黑色線->GND)。第三根線從2號引腳連接到按鍵右上側,按鍵右下側引腳連接到一個**下拉電阻**(這里用10kΩ電阻),然后將下拉電阻接到GND。按鍵左下側接到5V。 按鍵或者開關將在被按下時連通兩側。當按鍵處于**開路**時(未按下),按鍵兩側并不會有連接。Arduino引腳這時連接的是GND(通過下拉電阻),代碼中讀出來就是**LOW**(數值0)。當按鍵處在**閉路**時(按下),兩端連通,因而Arduino引腳就會被連接到5V,代碼中讀出來就是**HIGH**(數值1)。 如果你將數字引腳**懸空**(沒接下拉電阻),LED可能會不規律的閃爍。這是因為此時Arduino引腳的輸入一直在”漂移”。就是說,程序不能判定它是高電壓還是低電壓,故而只會隨機的返回HIGH或LOW。這解釋了這里我們為何需要下拉電阻。 ### 原理圖 ![](https://box.kancloud.cn/aafb0fe8e7d65b70ba9431eb5c2d0ba5_568x674.png) ### 代碼 在下列程序中,setup()所執行的第一件事情就是用以下代碼打開板子和電腦的串口連接,波特率為9600: ~~~ Serial.begin(9600); ~~~ 接著,初始化2號數字引腳,這個引腳將會從按鍵獲取**輸出**來作為**輸入**: ~~~ pinMode(2,INPUT); ~~~ 現在setup函數已經執行完成,開始執行loop函數。? 當按鍵被按下,5V電壓會讓電流自由的流動在電路中。若松開,輸入引腳將與10kΩ的下拉電阻相連。你需要了解:在Arduino眼里,這個引腳的狀態要么是高電平(對應HIGH或數值1),要么是低電平(對應LOW或數值0)。并沒有任何中間狀態。這就是所謂的**數字輸入**(digital input)大法。 loop函數中應做的第一件事情就是建立一個變量以保存從開關的狀態。由于連接開關的引腳只會讀出數值1或數值0,因而使用int類型較合適。我們把這個變量命名為**sensorValue**,并且讓它與2號引腳的狀態之間關聯。使用以下代碼就可輕松實現: ~~~ int sensorValue = digitalRead(2); ~~~ 一旦板子讀到了輸入,就會將這個信息以十進制數的格式輸出到電腦。你可以用這行代碼解決: ~~~ Serial.println(sensorValue); ~~~ 現在,當你打開Arduino IDE上的串口監視器,你就會看到一列0或1。0代表開關斷開,1代表開關連接。 ~~~ /* 讀取數字引腳 讀取引腳2上的值并且將結果輸出到串口監視器。 本例程公開。 */ // 2號引腳有一個按鍵,給他命名: int pushButton = 2; // setup函數在上電或復位后運行一次: void setup() { // 初始化串口,波特率9600: Serial.begin(9600); // 將2號引腳設置為輸入模式: pinMode(pushButton, INPUT); } // loop函數持續不斷的運行: void loop() { // 讀取輸入引腳: int buttonState = digitalRead(pushButton); // 將按鍵狀態輸出到串口監視器: Serial.println(buttonState); delay(1); // 在讀取操作前延時,以保證穩定 } ~~~ ## 相關資料 [setup()](http://www.arduino.cc/en/Reference/Setup)? [loop()](http://www.arduino.cc/en/Reference/Loop)? [pinMode()](http://www.arduino.cc/en/Reference/PinMode)? [digitalRead()](http://www.arduino.cc/en/Reference/DigitalRead)? [delay()](http://www.arduino.cc/en/Reference/Delay)? [int](http://www.arduino.cc/en/Reference/Int)? [serial](http://www.arduino.cc/en/Reference/Serial)? [DigitalPins](http://www.arduino.cc/en/Tutorial/DigitalPins)? [讀取模擬信號、串口操作? Arduino工程的最小單元? 點亮LED? LED亮度漸隱? 讀取模擬電壓值]( )
                  <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>

                              哎呀哎呀视频在线观看