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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 讀取模擬信號、串口輸出操作 > 本例使用電位器(potentiometer ),來展示如何讀取現實世界中的**模擬信號**(Analog Read)。 > 電位器是一個在它的軸被轉動時,能夠提供變化的電阻值簡單的機械裝置。 > 通過給電位器加上電壓,并且把它連接上Arduino板的模擬信號輸入引腳,你就可以以**模擬值**(analog value)的方式來測量電位器的阻值了。? > 在本例中,使用Arduino Software (IDE)的串口監視器,來建立**Arduino板**(或者**Genuino板**)和電腦的連接。 ### 所需硬件 * Arduino 或 Genuino 板 * 10kΩ電位器 * 一些面包板線/杜邦線 ### 電路 將電位器上三個引腳用線連接到板子上的方法如下。首先,將電位器兩側的任意一個引腳連接到板子的**GND**,另外一側的引腳連接到板子上的**5V**接口。將電位器中間的引腳連接到板子上的模擬輸入引腳**A0**上。 ![](https://box.kancloud.cn/8049e3eb78927cb235ad957dc09c4cd3_321x372.png) 通過轉動電位器的軸,你能改變電位器劃片兩側的電阻(整個電位器是由其中間引腳分開的變阻器)。這樣一來就能改變中間引腳上的電壓。當旋轉轉軸,使中間引腳和5V引腳間的電阻接近于0時(中間引腳和另一側GND引腳的電阻此時接近于10kΩ),由此中間引腳的電壓就接近于5V。若相反(轉到靠近GND的一側),中間引腳的電壓就接近于0V。中間引腳的電壓就是你讀出的模擬信號**原始值**。 Arduino和Genuino板有一個叫作**數模轉換**(ADC)的內電路來將原始值轉換為0到1023間的數值。當轉軸向GND方向轉到底,這時中間引腳的電壓就是0V,因而模擬信號值也是0。當轉軸向**VCC**(5V)方向轉到底,這時中間引腳的電壓就是5V,因而模擬信號值就是1023。如果轉軸在之間某位置,那么返回值就是0-1023的某個數值。**[analogRead()](https://www.arduino.cc/en/Reference/AnalogRead)**通過模擬輸入引腳的電壓來返回一個從0到1023的值。 ### 原理圖 ![](https://box.kancloud.cn/48da6ca52eb829146062480e12177d17_503x610.png) ### 代碼 在代碼中,**setup**函數所做的唯一事情就是使用**Serial.begin(9600)**。這個命令的作用是打開Arduino板和計算機的串口連接(波特率指定為9600)。 然后,在代碼的loop主循環中你要建立一個**變量**以存儲從電位器讀出的值(由于這個值是從0到1023,用[int](https://www.arduino.cc/en/Reference/Int)這種數據類型最妥當): ~~~ int sensorValue = analogRead(A0); ~~~ 最后,你將需要在串口監視器中輸出這個值。你可以在代碼最后一行添加 Serial.println()這句代碼來做到: ~~~ Serial.println(sensorValue) ~~~ 現在,當你打開Arduino IDE上的串口監視器(點擊窗口右上側的**放大鏡圖標**,或者按快捷鍵**Ctrl+Shift+M**),你可以看到一列穩定的數字流(0到1023之間的某個數字)。轉動電位器,你可以看到隨著電位器的轉動這些數值也立馬跟著變化。 ~~~ /* 讀取模擬信號、串口操作 從A0讀取模擬值,并且將讀取結果輸出到串口監視器。 小貼士:串口消息已經可以通過串口繪圖器來圖形化顯示了,點選“工具>串口繪圖”即可開啟這項功能。 (Tools> Serial Plotter menu) 將電位器中間的引腳接到A0引腳,兩側的引腳接到板子上的+5V和GND引腳。 示例代碼是共享的。 */ // setup函數在復位后運行一次 void setup() { // 初始化串口連接,波特率9600 Serial.begin(9600); } // loop函數永遠循環運行 void loop() { // 從A0口讀取模擬輸入值 int sensorValue = analogRead(A0); // 輸出讀取的值 Serial.println(sensorValue); delay(1); // 延時1毫秒以確保串口讀取穩定 } ~~~ ## 參考 [setup()](https://www.arduino.cc/en/Reference/Setup)? [loop()](https://www.arduino.cc/en/Reference/Loop)? [analogRead()](https://www.arduino.cc/en/Reference/AnalogRead)? [int](https://www.arduino.cc/en/Reference/Int)? [serial](https://www.arduino.cc/en/Reference/Serial)? [BareMinimum? Blink? DigitalReadSerial? Fade]( )
                  <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>

                              哎呀哎呀视频在线观看