• V
 

在不同数字范围之间映射属性

问题

您希望将一个数字从一个数字范围缩放转换到另一个数字范围。例如,将传感器读数(范围 0 - 1023)映射到电压范围(0 - 5)。

解决方案

使用 Range 节点在定义的范围之间进行映射。

示例

[{"id":"80dae67d.b4d8f8","type":"inject","z":"535331d8.55c1f","name":"","topic":"","payload":"0","payloadType":"num","repeat":"","crontab":"","once":false,"x":130,"y":380,"wires":[["81f13534.456348"]]},{"id":"81f13534.456348","type":"range","z":"535331d8.55c1f","minin":"0","maxin":"1023","minout":"0","maxout":"5","action":"clamp","round":false,"name":"","x":350,"y":420,"wires":[["e80b61d7.4b399"]]},{"id":"cb21de23.75a2f","type":"inject","z":"535331d8.55c1f","name":"","topic":"","payload":"512","payloadType":"num","repeat":"","crontab":"","once":false,"x":130,"y":420,"wires":[["81f13534.456348"]]},{"id":"342552de.255a1e","type":"inject","z":"535331d8.55c1f","name":"","topic":"","payload":"1023","payloadType":"num","repeat":"","crontab":"","once":false,"x":130,"y":460,"wires":[["81f13534.456348"]]},{"id":"e80b61d7.4b399","type":"debug","z":"535331d8.55c1f","name":"","active":true,"console":"false","complete":"false","x":550,"y":420,"wires":[]}]

讨论

Range 节点可用于在两个不同数字范围之间进行线性缩放。

默认情况下,结果不受节点中定义的范围限制。这意味着,以上述电压示例为例,2046 的值将映射为 10。

该节点可以配置为将结果限制在目标范围内,或者应用简单的模运算,使值在目标范围内循环。