用可變電阻建立一個「電壓調節器」,讓輸出電壓隨著電阻值的變化 而改變,藉以模擬類比資料。
A/D轉換器的功用是將類比信號(通常是電壓)轉成數位信號,著 重在精確度、解析度與轉換速度
在Arduino UNO等標準板子上,有6個類比輸入接腳A0~A5。
Arduino Mini和Nano板子有8個類比輸入接腳A0~A7。
Arduino Mega板子則有16個類比輸入接腳A0~A15。
Arduino內建10位元A/D轉換器,會將類比輸入電壓0~5V轉換成 0~1023數位值,可以使用analogRead()函式讀取數位值。
至少需100μS的時間來讀取類比輸入,所以最大讀取速率是每秒 10000次。
analogRead( )函式功用是將類比輸入腳電壓 0~5V 轉換成數位值 0~1023,只有一 個參數 pin 可以設定,在 UNO 板子 pin 值為 0~4,在 Mini 和 Nano 板子的 pin 值為 0~7,在 Mega 板子的 pin 值為 0~15。analogRead( )函式的傳回值為整數 0~1023。
格式: analogRead(pin)
範例:
int val; val=analogRead(0); //讀取 A0 腳類比輸入電壓並轉成數位值。
const int refVolts=5; int val; float volts; void setup() { Serial.begin(9600); } void loop() { val=analogRead(0); volts=(float)val*refVolts/1024; Serial.print("voltage="); Serial.print(volts,2); Serial.println("V"); delay(1000); }
六、練習
1.設計 Arduino 程式,使用 Arduino 板讀取類比電壓值,來當作4LED單燈右移的速度。
2.設計 Arduino 程式,使用 Arduino 板讀取類比電壓值,並顯示於 Serial Monitor 視窗。 當類比電壓大於 2.5V 則 LED 亮,否則 LED 不亮。