IoT のための電子工作入門

ホーム > ArduinoArduino > Arduino で電圧を測る (アナログ入力を読取る)

Arduino で電圧を測る (アナログ入力を読取る)

スポンサーリンク

ここでは Arduino でアナログピンの値を読む方法について説明します。

analogRead() 関数を用いると指定したアナログピンから値を読むことができます。

Arduino ボードは、A0 から A5 までの 6 チャネルの 10 ビットのアナログ・デジタルコンバーターを持っています。

Arduino Uno などの動作電圧が 5V のボードでは 0V から 5V までの電圧は、 0 から 1023 までの整数に対応付けされます。バイナリの 1111 1111 11 は 10進数で 1023 です。

analogRead() 関数は読み取った値を 0 から 1023 までの整数値で返します。従って、5V が 1023 に対応する場合は、 (analogRead() の戻り値) * 5/1023 とすれば電圧が分かります。

尚、デフォルトで analogRead() の戻り値 0 から 1023 が 0V から 5V (もしくは Arduino Gemma のように 3.3V の動作電圧の場合は 0V から 3.3V) に対応付けされていますが、analogReference() 関数を 用いてこの範囲を変更することは可能ですが、設定可能な値はボードに依存します。

Arduino で電圧を測る

それでは実際に Arduino を用いて、電圧を計測してみましょう。

読み取った結果はシリアルモニターに出力します。

スケッチは次のようになります。

const int PIN_ANALOG_INPUT = 5;

void setup() {
  Serial.begin( 9600 );
}

void loop() {
  int i = analogRead( PIN_ANALOG_INPUT );
  float f = i * 5.0 / 1023.0;
  Serial.println( f );
  delay( 1000 ); 
}

これによって 1 秒おきにシリアルモニターに電圧が表示されます。

Arduino アナログ入力

以上、Arduino でアナログ入力を読み取る方法を紹介しました。

ホーム > ArduinoArduino > Arduino で電圧を測る (アナログ入力を読取る)