Arduino map() 函数

在本教程中,我们将讨论如何在 Arduino 中使用 map() 函数将数字从一个范围映射到另一个范围。

使用 Arduino 中的 map() 函数将数字从一个范围映射到另一个范围

如果要将数字从一个范围映射到另一个范围,则可以使用 Arduino 中的 map() 函数。例如,如果要映射范围从 1-1000 到 1-10 的数字,则可以使用 map() 函数轻松地做到这一点。

该函数将类型为 int 的五个变量作为输入参数。

  1. 第一个参数是要转换其范围的变量。
  2. 第二个参数是变量范围的原始最小值。
  3. 第三个参数是变量范围的原始最大值。
  4. 第四个参数是变量新范围的最小值。
  5. 第五个参数是变量新范围的最大值。

例如,让我们将模拟值映射到 6 位。检查下面的代码。

void loop() {
  int myValue = analogRead(0);
  myValue = map(myVal, 0, 1023, 0, 64);
}

在上面的代码中,我们使用 analogRead() 函数从模拟引脚 0 读取数据。analogRead() 函数返回的值范围是 0 到 1023。我们正在将该值的范围转换为 0-64,这是新的范围。你可以根据给定的值更改新范围。请注意,此函数仅适用于整数值。如果要映射分数,请不要使用此函数,而必须创建自己的转换函数。