Сейчас ваша корзина пуста!
constrain()
constrain() — функция для ограничения значения переменной заданным диапазоном. Она проверяет значение и при необходимости корректирует его, чтобы оно находилось в допустимых пределах.
Принцип работы
Функция возвращает:
- Само значение x, если оно находится в диапазоне [a…b]
- Значение a, если x меньше нижней границы
- Значение b, если x больше верхней границы
Эта функция особенно полезна при работе с датчиками и устройствами, где важно контролировать диапазон значений для корректной работы системы.
Синтаксис
constrain( x , a , b )Параметры
x - проверяемое значение (может быть любого типа)
a - нижняя граница диапазона (минимальное допустимое значение)
b - верхняя граница диапазона (максимальное допустимое значение)
Пример
void setup() {
// Настройка Serial порта для вывода
Serial.begin(9600);
}
void loop() {
// Имитация значения с датчика
int sensorValue = random(0, 200);
// Ограничение значения от 20 до 180
int constrainedValue = constrain(sensorValue, 20, 180);
// Вывод результатов
Serial.print("Исходное значение: ");
Serial.print(sensorValue);
Serial.print(" | Ограниченное значение: ");
Serial.println(constrainedValue);
delay(1000);
}
Примечание
Практическое применение
Функция широко используется в следующих случаях:
- Ограничение значений датчиков
- Контроль параметров движения сервоприводов
- Проверка входных данных
- Управление яркостью светодиодов
- Ограничение скорости моторов
Важные особенности
- Функция работает с любыми числовыми типами данных
- Не изменяет исходное значение напрямую
- Возвращает новое значение, которое нужно присвоить переменной
- Может использоваться в математических выражениях
Типичные ошибки
- Неправильная установка границ диапазона
- Забывание присвоить возвращаемое значение
- Использование в неверном контексте

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