Menu
CoddyTech

パーセントに変換する

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

0から1023までの読み取り値は、人にはわかりにくいものです。0から100までのパーセントのほうがわかりやすいでしょう。map()は、ある範囲の数値を別の範囲に変換します。

int percent = map(reading, 0, 1023, 0, 100);

この関数は5つの数値を受け取ります。値、その範囲の下限と上限、そして新しい範囲の下限と上限です。0は0になり、1023は100になり、範囲の4分の1の位置にある値は、新しい範囲でも4分の1の位置になります。つまり、256は25になります。

map()は整数を扱い、小数部分を切り捨てます。パーセントの場合はこれで問題ありません。

challenge icon

チャレンジ

簡単

つまみは A0 に接続されています。どれだけ回したかをパーセントで出力します。

  • A0 を読み取る
  • map() を使って読み取り値を 0 から 100 に変換する
  • パーセントを出力し、その後 100 ms 待つ

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

自分で試してみよう

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

void loop() {
  int reading = analogRead(A0);
  // map() で reading をパーセントに変換し、表示してから 100 ms 待つ
}
quiz icon腕試し

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

入力のすべてのレッスン

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