Re-mapeia um número de uma faixa de valores para outra. Isto é, um valor de fromLow é mapeado para toLow, um valor fromHigh para toHigh, e valores intermediários da primeira faixa para a segunda faixa, mantendo-se a proporção entre eles.
Não restringe valores dentro da faixa, porque valores que extrapolem podem ser úteis e intencionais. A função constrain() pode ser utilizada tantes antes como depois desta função se limites para as faixas forem necessários.
Verifique que os limites inferiores de uma faixa podem ser maiores ou menores que os limites superiores. Desse modo a função map() pode ser utilizada para colocar em ordem reversa uma faixa de valores, como por exemplo:
y = map(x, 1, 50, 50, 1);A função também pode utilizar números negativos como neste exemplo:
y = map(x, 1, 50, 50, -100);A função map() utiliza números inteiros e não gera frações. Quando o resultado for fracionário ele será truncado e não arredondado.
Parâmetros
value: o número a ser mapeado
fromLow: limite inferior da faixa atual de value
fromHigh: limite superior da faixa atual de value
toLow: limite inferior da faixa para a qual se quer mapear
toHigh: limite superior da faixa para a qual se quer mapear
Retorno
O valor mapeado.
Exemplo
/* Mapear uma entrada analógica de 10 bits para uma saída analógica de 8 bits (0 a 255) */
void setup() {}
void loop()
{
int val = analogRead(0);
val = map(val, 0, 1023, 0, 255);
analogWrite(9, val);
}
0 comentários:
Postar um comentário