map函数主要功能为将范围为A的变量等比例转化至B中,在arduino编程中有广泛应用,例如将10位模拟输入结果转化至8位模拟输出、利用模拟输入值控制舵机角度等。
一、map函数分析
我们先来看map函数示例语句:
x =map(value, fromLow, fromHigh, toLow, toHigh);
x,value为同类型变量,fromHigh与fromLow为t变量本身的上下界,toHigh与toLow为x变量的上下界。该函数将t变量值根据范围比例变换后将结果存入x变量。
二、map函数应用举例
该示例为将模拟输入信号值直接转至模拟输出,代码如下:
void setup()
{
pinMode(8,OUTPUT);//设置8号引脚为输出引脚
pinMode(A1,INPUT);//设置A1引脚为输入引脚
}
void loop()
{
int in,out;
in = analogRead(A1);//将A1引脚模拟输入值存入in变量
out = map(in,0,1023,0,255);//将in变量的值缩放至out变量以符合模拟输出取值范围
analogWrite(8,out);//将out值转变为PWM波占空比从8号口输出。
}