The Arduino map function
Mapping a value from one range to another is a very simple thing. It's just a matter of finding which value will be at the same point of the output range as compared to the input range. Let's see it with a simple example.
If we have a possible input value of 0 to 100 and an allowed output range of 0 to 500 and we take a sample value of 75, we can say that it is at 75 percent of its input range, can't we? Well, which value will be at 75 percent of the output range, then? We will usually just make a simple correspondence:
Output Value = (Input Value x Maximum Output Value) / Maximum Input Value
Or, we will use the values in our example:
Output Value = (75 x 500) / 100 = 375
Here, 375 is just 75 percent of 500. Simple, isn't it?
It is so simple but also so common in the Arduino environment that we have a specific function to make this kind of mapping in the Arduino language, which is appropriately called the map()
function.
As you can see by following...