map(value, fromLow, fromHigh, toLow, toHigh)

Descripción

Re-asigna un número de una gama a otra. Es decir, un valor de fromLow sería asignado a toLow, un valor offromHigh a toHigh, los valores intermedios a valores intemedios, etc.
No restringe los valores dentro del rango, ya que los valores fuera de la gama a veces se entiende que son útiles. La función constrain () se puede usar antes o después de esta función, si se desean límites de los intervalos.
Tenga en cuenta que los "límites inferiores" de cualquier rango pueden ser más grandes o más pequeños que los "límites superiores" para que la función map () se pueda usar para revertir una serie de números, por ejemplo
y = map(x, 1, 50, 50, 1);
La función también funciona con números negativos, según este ejemplo
y = map(x, 1, 50, 50, -100);
y también funciona con palabras.
La función map () usa números enteros por lo que no va a generar decimales, cuando las operaciones matemáticas podrían indicar que debería hacerlo. Los decimales remanentes se truncan, y no son redondeados o promediados.

Parámetros

value: el número a mapear
fromLow: el límite inferior del rango actual del valor
fromHigh: el límite superiordel rango actual del valor
toLow: el límite inferior del rango resultado del valor
toHigh: el límite superiordel rango resultado del valor

Retornos

El valor mapeado.

Ejemplo

/* Mapea un valor analógico de 8 bits (0 a255) */
void setup() { }

void loop()
{
 int val = analogRead(0);
 val = map(val, 0, 1023, 0, 255);
 analogWrite(9, val);
}

Apéndice
Para lo amantes de las mayemáticas, aquí está toda la función
long map(long x, long in_min, long in_max, long out_min, long out_max)
{
  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}

No hay comentarios:

Publicar un comentario