使用材料:Arduino leonardo

AD  

 

說明:

Arduino本身就有AD轉換功能,ANALOG PIN(圖片右下角),只要將類比從此處輸入即可!

 

程式:

 

int anologPin=1; //指定輸入腳,和數位不一樣的宣告方式

long val ; //宣告電壓變數,看個人的需求,如果只要取整數,也可以宣告int

 

void setup()

{

Serial.begin(9600);

 

}

 

void loop()

{


val = analogRead(analogPin);  //這裡的值是轉換值(0~1023),若要顯示數值要改成 val = (analogRead(analogPin))*5/1024;

Serial.print(val);  


}

 

小建議:

因為在真實電路中,Arduino 並不會真的輸出5V,通常會在小一些,但是Arduino本身的AD轉換無法改變基準電壓,所以可以把輸入的電壓值,再另外做處理。

這就是數學啦~~

已知AD轉換是換為10位元2進制的方式

AD轉換完的值*5/1024=電壓值

這時候把原先設定5V,改為實際Arduino輸出電壓值

AD轉換完的值*(實際Arduino輸出電壓值)/1024=待測電壓值

EX.我測量到的值是4.84V

所以我的公式改成 AD轉換完的值*4.48/1024

 

其實這會有誤差是難免的,因為AD轉換的值算法是*1024/5,為了輸出2進制,要強取整數,小數會被無條件捨去,所以會影響到最後的輸出值。

arrow
arrow
    文章標籤
    arduino ad analogread
    全站熱搜

    不專業工作室 發表在 痞客邦 留言(1) 人氣()