Arduino 日本語リファレンス



範囲を指定するパラメータに負の数を使うこともできます。例 y = map(x, 1, 50, 50, -100);

map関数は整数だけを扱います。計算の結果、小数が生じる場合、小数部分は単純に切り捨てられます。

【パラメータ】

value: 変換したい数値
fromLow: 現在の範囲の下限
fromHigh: 現在の範囲の上限
toLow: 変換後の範囲の下限
toHigh: 変換後の範囲の上限

【戻り値】

変換後の数値 (long)

【例】

アナログ入力の10ビットの値を8ビットに丸めます。

void setup() {}

void loop() {
  int val = analogRead(0);
  val = map(val, 0, 1023, 0, 255);
  analogWrite(9, val);
}

【補足】

どのような計算が行われているか気になる人は次のソースを見てください。

long map(long x, long in_min, long in_max, long out_min, long out_max) {
  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}



[目次へ戻る]

Creative Commons Attribution-ShareAlike 3.0 License.
このドキュメントはArduino Teamにより執筆され、Takumi Funadaが翻訳し、一部加筆修正したものです
ご意見はtf at musashinodenpa.comまでお送りください [Arduino wiki]