Menu
CoddyTech

つまみの値を電圧に変換する

CoddyのArduinoジャーニー「入力」セクションの一部。レッスン 9/22。

読み取り値が1023なら5Vなので、1ステップは5 / 1023ボルトです。読み取り値をボルトに変換するには、次のように掛け算します。

int reading = analogRead(A0);
float volts = reading * 5.0 / 1023.0;
Serial.println(volts);

小数点は重要です。reading * 5 / 1023では整数だけが使われるため、整数除算となり、小数部分が切り捨てられます。読み取り値が512の場合、2.5ではなく2になります。5.0を使うと、小数を含めた計算になります。

計算の順序も重要です。reading / 1023 * 5.0では、まず2つの整数を割るため、1023未満の読み取り値ではすべて0になります。

Serial.println()は、floatを2.50のように小数点以下2桁で表示します。

challenge icon

チャレンジ

簡単

つまみは A0 に接続されています。ピンの電圧を出力します:

  • A0 を int に読み込む
  • float で電圧に変換する: reading * 5.0 / 1023.0
  • 電圧を出力し、その後 100 ms 待つ

Run を押し、つまみを回してから、Check を押します。

自分で試してみよう

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

void loop() {
  int reading = analogRead(A0);
  // readingをボルト単位の電圧に変換して出力し、100 ms待つ
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

入力のすべてのレッスン

自分で練習してみよう: Arduinoプレイグラウンド