函数名称:map()
包含形参:
- value:需要映射的值
- fromLow:输入值的最小值
- fromHigh:输入值的最大值
- toLow:输出值的最小值
- toHigh:输出值的最大值
功能:将一个值从一个范围映射到另一个范围。
map()
函数是一个常用的数学函数,它能够将一个范围内的值映射到另一个范围内,并返回映射后的值。在 Arduino
编程中,这个函数通常用于将传感器读数转换为可使用的范围,或者将输出值映射到特定的输出设备上。
map()
函数一共有五个参数,其中前五个参数必须以整数形式输入,分别代表需要映射的值、输入值的最小值和最大值、输出值的最小值和最大值。这些参数都是必填的,而且需要按照一定的规律输入才能成功调用函数。
例如,如果你想将一个 0 到 1023 的模拟读数映射到 0 到 255 的输出范围内,你需要按照以下方式调用 map()
函数:
int inputValue = analogRead(A0); // 读取 0 到 1023 之间的模拟读数
int outputValue = map(inputValue, 0, 1023, 0, 255); // 将输入值映射到 0 到 255 之间
在上面的示例中,我们定义了三个整型变量 x
、a
和 b
,并将 x
的值设置为 20。然后,我们调用 constrain(x, a, b)
函数将 x
的值限制在区间 [a, b]
内,并将结果存储到变量 x_constrained
中。可以看到,由于 x
大于 b
,因此函数返回了 b
的值 10,并将其存储到变量 x_constrained
中。最后,我们使用串口打印函数将 x
和 x_constrained
的值输出到终端,结果分别为 20 和 10,证明了 constrain(x, a, b)
函数的功能