map()

map()

Описание

Функция map() пропорционально переносит значение (value) из текущего диапазона значений (fromLow, fromHigh) в новый диапазон (toLow, toHigh), заданный параметрами.

Синтаксис

map(value, fromLow, fromHigh, toLow, toHigh);

Параметры

  • value: значение для переноса
  • fromLow: нижняя граница текущего диапазона
  • fromHigh: верхняя граница текущего диапазона
  • toLow: нижняя граница нового диапазона, в который переноситься значение
  • toHigh: верхняя граница нового диапазона

Возвращаемое значение

  • Значение в новом диапазоне, число

Дополнительная информация

Функция map() не ограничивает значение рамками диапазона, как это делает функция constrain(). Contrain() может быть использован до или после вызова map(), если необходимо ограничить допустимые значения заданным диапазоном.

Обратите внимание, что «нижняя граница» может быть как меньше, так и больше «верхней границы». Это может быть использовано для того чтобы «перевернуть» диапазон:

y = map(x, 1, 50, 50, 1);

Возможно использование отрицательных значений:

y = map(x, 1, 50, 50, -100);

Функция map() оперирует целыми числами. При пропорциональном переносе дробная часть не округляется по правилами, а просто отбрасывается.

Пример

void setup() {}
void loop(){
  int val = analogRead(0);
  val = map(val, 0, 1023, 0, 255); // число от 0 до 255.
}

Связанные записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *