Skip to content

范围 (range)

将数值从一个范围线性映射到另一个范围。

输入

包含数值的消息对象。

输出

映射后的数值消息对象。

详细说明

范围节点将输入数值从一个范围线性映射到另一个范围。

常用于传感器数据的标准化和数值转换。

映射参数

  • 输入范围: 原始数值的最小值和最大值
  • 输出范围: 目标数值的最小值和最大值
  • 限制输出: 将输出限制在目标范围内
  • 舍入结果: 将结果舍入到指定小数位

映射公式

输出 = (输入 - 输入最小值) × (输出最大值 - 输出最小值) / (输入最大值 - 输入最小值) + 输出最小值

示例

温度转换:

javascript
// 配置:将0-100°C映射到32-212°F
// 输入
msg = {payload: 25}

// 输出
msg = {payload: 77}  // 25°C = 77°F

传感器标准化:

javascript
// 配置:将0-1023的ADC值映射到0-100%
// 输入
msg = {payload: 512}

// 输出
msg = {payload: 50}  // 50%

反向映射:

javascript
// 配置:将0-100映射到100-0(反向)
// 输入
msg = {payload: 25}

// 输出
msg = {payload: 75}

应用场景

  • 传感器数据标准化
  • 单位转换
  • 百分比计算
  • 信号调理

注意事项

  • 输入值超出范围时的处理方式
  • 除零错误的处理
  • 浮点数精度问题

蜀ICP备2025139593号