Constrain()

From MakerLab Wiki
Jump to navigation Jump to search

Chức năng

_ "Ràng buộc" một số nằm trong một phạm vi.

Cú pháp

  • constrain(x, a, b)

Tham số

_ Các tham số này có thể nhận tất cả các loại dữ liệu.

  • x - là một con số.
  • a - ngưỡng dưới của phạm vi.
  • b - ngưỡng trên của phạm vi.

_ Không bắt buộc, nhưng tham số a phải nên luôn nhỏ hơn tham số b, điều kiện (a < b).

Dữ liệu trả về

  • x : nếu x nằm giữa ab.
  • a : nếu x < a.
  • b : nếu x > b.

Code mẫu

Đoạn code sẽ giới hạn các giá trị in ra Serial Monitor chỉ trong khoảng từ 10% đến 90%.

void setup()
{
  Serial.begin(115200); // Mở cổng Serial
  Serial.println("Giới hạn giá trị trong khoảng [10% : 90%]");

  float x = 50;
  Serial.print(" x = ");
  Serial.print(x);
  Serial.print(" → ");
  Serial.println(constrain(x, 10, 90));

  x = 90;
  Serial.print(" x = ");
  Serial.print(x);
  Serial.print(" → ");
  Serial.println(constrain(x, 10, 90));

  x = 95.5;
  Serial.print(" x = ");
  Serial.print(x);
  Serial.print(" → ");
  Serial.println(constrain(x, 10, 90));

  x = 10;
  Serial.print(" x = ");
  Serial.print(x);
  Serial.print(" → ");
  Serial.println(constrain(x, 10, 90));

  x = 5.5;
  Serial.print(" x = ");
  Serial.print(x);
  Serial.print(" → ");
  Serial.println(constrain(x, 10, 90));
}

/* ----------------------------------------------------- */

void loop()
{
  // Không làm gì cả!
}