我想不通的术语来搜索我想要的功能:
Anrduino具有地图(值,INLO,INHI,outLo,outHi)功能,取入的范围内的值,并返回与映射到OUT范围相同的比率的值。 例如地图(5,0,6,200,380)返回350,因为在一个范围内的0-6的值是5和5/6的范围内的5/6从200到380是350。
我可以写在Excel中我自己的功能,但我猜有内置的东西。
我想不通的术语来搜索我想要的功能:
Anrduino具有地图(值,INLO,INHI,outLo,outHi)功能,取入的范围内的值,并返回与映射到OUT范围相同的比率的值。 例如地图(5,0,6,200,380)返回350,因为在一个范围内的0-6的值是5和5/6的范围内的5/6从200到380是350。
我可以写在Excel中我自己的功能,但我猜有内置的东西。
其实查尔斯·威廉斯回答犯规相当地址相当于Arduino的“地图”功能。 更正确的计算公式为:=((值-INLO)/(INHI-INLO))*(outhi-outlo)
你的意思是正确的公式是:(从arduino.cc/en/Reference/Map)长图(长×长in_min,长in_max,长out_min,长out_max)
{return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;}
(您忘记+末out_min)
很好的解释是由詹姆斯·拉姆斯登这里给出: http://james-ramsden.com/map-a-value-from-one-number-scale-to-another-formula-and-c-code/
从本质上讲,如果一个规模从A0到A1以及其他水垢是从B0至B1,并要映射A到B的一些价值的价值。 该公式是: