Функция map() Arduino IDE

Функция map в Arduino IDE

Функция map в Ардуино переносит значение из текущего диапазона в новый диапазон значений, заданный параметрами — map(value, fromLow, fromHigh, toLow, toHigh). Команда map() оперирует только целыми числами. Дробная часть числа не округляется по правилами математики при пропорциональном переносе, а просто отбрасывается. Рассмотрим использование функции map в Arduino IDE с примерами.

Функция map в Arduino IDE

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

Параметры

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

Ардуино map пример программы

void setup() {
    pinMode(A1, INPUT);     // подключаем аналоговый датчик
    pinMode(10, OUTPUT);  // подключаем светодиод
}

void loop() {
   // переменная "value" находится в интервале от 0 до 1023
   int value = analogRead(A1);
   // преобразуем аналоговое значения в 8-битное число (от 0 до 255)
   value = map(value, 0, 1023, 0, 255);
   // включаем светодиод с новым значением value
   analogWrite(10, value);
}

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

   value = map(val, 0, 1023, 255, 0);

Ардуино map дробные числа

Напомним, что дробная часть числа при преобразовании с помощью функции map() не округляется, а просто отбрасывается (не учитывается). Этот факт следует учитывать при работе с типом данных float в языке программирования Ардуино.

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5,00 out of 5)
Загрузка...

Подборка на тему: Функция map() Arduino IDE

2 комментариев для “Функция map() Arduino IDE

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

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