[csharp]
/*****************************************************************
** 程序名:Mega_ADK ADC
** 參 數:無
** 功 能:通過串口發送AD采集到的電壓值(mv)
** 注 意:目標板為Maga ADK,MCU為ATmega 2560
** 作 者:趙露露
** 版 本:v1.0
** 修改時間:2012.8.17
******************************************************************/
#define adPin A0
void setup()
{
Serial.begin(115200); <span style="white-space:pre"> </span>//設置波特率
}
void loop()
{
int n = analogRead(adPin); <span style="white-space:pre"> </span>//讀取模擬口的數值,因為ATmega 2560 AD精度為10位,故返回值范圍為0~1023
n = n * 4.888; <span style="white-space:pre"> </span>//將返回值換算成毫伏
Serial.print("The Voltage Value is(mv):");
Serial.println(n,DEC); <span style="white-space:pre"> </span>//DEC在這裡是設置輸出數據的格式,此處可省略,詳見http://kb.open.eefocus.com/index.php?title=Serial
delay(100);
}
注:因為ATmega 2560 AD精度為10位,故返回值范圍為0~1023,對應0~5V,根據采集值計算實際電壓,5000÷1024≈4.888,因此將采集值乘以4.888就得到實際電壓值(毫伏)。
新手上路,如有錯誤歡迎指正。