秋月ファンクラブ掲示板

chy_farm(2018/11/20 Tue 12:13) [ 編集 ] [ 返信 ]

Arduino Uno r3、A-D変換のリニアリティー

JPG 800x600 187.8kb

500ΩのポテンシオメータにArduino ボードの5V端子、GND端子から5Vを印加して、
ポテンシオメータの中間点をアナログ入力ポート「A0」に接続して、
ポテンシオメータの値を変化させながら、テスターで電圧変化を記録しました。

A0から入力されるアナログデータが良いリニアリティーでデジタル変換されているかをみました。

開始前に準備測定すると、

(テスタ表示): (COM4ポート表示)
   0. 00V    0. 00V
   4.84V    4.85V

でしたので、割り算して
Serial.println(a*(4.85/1023));
のコーディングのところでパラメータに入れています。

C++のコードは次の通りです。
/////////////////////////////////
void setup() {
Serial.begin(9600);
}

void loop() {
int a;
a=analogRead(0);
Serial.println(a*(4.85/1023));
delay(1000);
}
///////////////////////////////////

(結果)
(テスタ表示): (COM4ポート表示)
   4.84V    4.85V
   3.98V    4.00V
   3.50V    3.50V
   3.03V    3.00V
   2.52V    2.50V
   2.00V    2.00V
   1.50V    1.50V
   1.01V    1.00V
   0.50V    0.50V

/////////////////////////////////////

と、まあ、こんなものなのでしょうか。

  1. [4499] 500ΩのポテンシオメータにArduino ボードの5V端子、GND端子から5Vを印加して、
    ポテンシオメータの中間点をアナログ入力ポート「A0」に接続して、
    ポテンシオメータの値を変化させながら、テスターで電圧変化を記録しました。

    A0から入力されるアナログデータが良いリニアリティーでデジタル変換されているかをみました。

    開始前に準備測定すると、

    (テスタ表示): (COM4ポート表示)
       0. 00V    0. 00V
       4.84V    4.85V

    でしたので、割り算して
    Serial.println(a*(4.85/1023));
    のコーディングのところでパラメータに入れています。

    C++のコードは次の通りです。
    /////////////////////////////////
    void setup() {
    Serial.begin(9600);
    }

    void loop() {
    int a;
    a=analogRead(0);
    Serial.println(a*(4.85/1023));
    delay(1000);
    }
    ///////////////////////////////////

    (結果)
    (テスタ表示): (COM4ポート表示)
       4.84V    4.85V
       3.98V    4.00V
       3.50V    3.50V
       3.03V    3.00V
       2.52V    2.50V
       2.00V    2.00V
       1.50V    1.50V
       1.01V    1.00V
       0.50V    0.50V

    /////////////////////////////////////

    と、まあ、こんなものなのでしょうか。
    Arduino Uno r3、A-D変換のリニアリティー
    chy_farm 2018/11/20 12:13 *