Arduino 将模拟输入(0-1024)转换为 1-10 比例

问题描述 投票:0回答:2

我在编码方面相当新,基本上我想做的是使用我得到的模拟输入(0-1024)制作一个 1-10 刻度的仪表。我想反转模拟输入。模拟输入 1024 的刻度为 0,模拟输入 0 的刻度为 10。抱歉,如果这是一个简单的代码,但我才刚刚开始编码。谢谢你!

input arduino scale
2个回答
3
投票

你应该可以使用

map
功能来实现你想要的。

尝试以下操作:

int val = analogRead(0);
int newval = map(val, 0, 1023, 10, 0);

前两个数字是输入值的范围,第二对数字是您希望输入映射到的范围。

查看 Arduino 参考以了解

map
功能

注意: 我手头没有 Arduino,所以无法仔细检查它是否有效。


0
投票

这应该可以工作(我这台机器上没有编译器可以检查)。

int val;
val = 10 - (analogRead(0) / 102.4);
© www.soinside.com 2019 - 2024. All rights reserved.