首页 > 解决方案 > 需要数学辅助:将 Arduino 模拟输入缩放为 -1 到 1

问题描述

Arduino map() 函数不适用于此问题,并且已经搜索了“网络示例”,但仍然不知所措。我的“数学大脑”坏掉了!!:-(

我有一个进入 Arduino 模拟输入的电位器产生 170 到 1000 的范围。我想将其缩放到 -1 到 1 的范围,以模拟正在更换的商业操纵杆。

有一个 Arduino Micro 读取罐子并通过串行将数据发送到处理。这一切都有效 - 只是无法发送 -1 到 1 的范围。

这样做的公式将是一个巨大的帮助!
=艾伦·R。

标签: matharduinoscaling

解决方案


您可以使用线性插值来发挥作用。如果 x 是输入并且 y 是您想要的输出,则将得出以下关系:

(y-1)/(x-1000) = (1-(-1))/(1000-170) = 1/415

所以基本上,y = 1 + (x-1000)/415


推荐阅读