Description: Math Map
Description: Math Map
LANGUAGE
Reference > Language > Functions > Math > Map
FUNCTIONS
map()
VARIABLES
[Math]
STRUCTURE
LIBRARIES Description
GLOSSARY Remaps a number from one range to another. That is, a value of fromLow would get
mapped to toLow, a value of fromHigh to toHigh, values inbetween to values in
The Arduino Reference text is between, etc.
licensed under a Creative
Commons AttributionShare Alike
3.0 License. Does not constrain values to within the range, because outofrange values are
sometimes intended and useful. The constrain() function may be used either before
Find anything that can be
improved? Suggest corrections or after this function, if limits to the ranges are desired.
and new documentation via
GitHub. Note that the "lower bounds" of either range may be larger or smaller than the "upper
Doubts on how to use Github? bounds" so the map() function may be used to reverse a range of numbers, for
Learn everything you need to example
know in this tutorial.
The function also handles negative numbers well, so that this example
EDIT THIS PAGE
y = map(x, 1, 50, 50, 100);
The map() function uses integer math so will not generate fractions, when the math
might indicate that it should do so. Fractional remainders are truncated, and are not
rounded or averaged.
Syntax
Parameters
Returns
Example Code
/* Map an analog value to 8 bits (0 to 255) */
void setup() {}
void loop()
{
SIGN IN HOME BUY S O F T int
W A Rval
E = analogRead(0);
val = map(val, 0, 1023, 0, 255);
analogWrite(9, val);
}
Appendix
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;
}
See also
LANGUAGE abs()
LANGUAGE constrain()
LANGUAGE max()
LANGUAGE min()
LANGUAGE pow()
LANGUAGE sq()
LANGUAGE sqrt()
NEWSLETTER
Copyright Notice
Contact Us
About Us
Careers
2017 Arduino