ADC

透過類比數位轉換器 (ADC),使用者可從腳位上讀取到更細微的電壓高低變化。ADC 腳位的位置請參考開發板腳位圖

使用 LinkIt 7697 的 ADC 前,請特別注意下列事項:

  1. ADC 的輸入電壓範圍是 0 到 2.5V,而非 3.3V。
  2. ADC 的解析度為 12-bit。所以 analogRead() 的回傳值為 04095
  3. ADC 的輸入阻抗為 10k 歐姆。
  4. 在 Arduino IDE 中,A0 腳位對應到開發板腳位圖上的 ADC_IN0。完整的腳位對應如下表:
絲印腳位編號Arduino 腳位名稱LinkIt 7697
P14A0ADC_IN0
P15A1ADC_IN1
P16A2ADC_IN2
P17A3ADC_IN3

使用範例

開啟 IDE 中的範例:File > Examples > 03. Analog > AnalogInput。並根據 LinkIt 7697 的硬體規格做以下修改:

  1. 將 LED 腳位從 13 改為 7 - 因為板上內建的 USR LED 對應到 P7 針腳:

    int ledPin = 7; // select the pin for the LED
  2. 原本的範例會將 analogRead 回傳值對應到 LED 的閃爍間隔 (單位:millisecond 微秒),但因為 LinkIt 7697 的 analogRead 值域較一般的 Arduino 板來得大 (從 0~1023 變為 0~4095),所以若沿用原本的程式碼可能會造成閃爍間隔太長、進而不易觀察。為了改善這個現象,可以將讀入值除以四以維持與 Arduino 板相同的行為:

    sensorValue = analogRead(sensorPin) / 4; // maps 4096 back to 1024
  3. 由於 ADC 的輸入電壓上限為 2.5V,所以透過下圖的分壓電路來將板上的 5V 輸出降至 2.5V 後,再輸入至 ADC。