Input Arduino将模拟输入(0-1024)转换为1-10刻度

Input Arduino将模拟输入(0-1024)转换为1-10刻度,input,arduino,scale,Input,Arduino,Scale,我对编码相当陌生,基本上我想做的是用我得到的0-1024的模拟输入制作一个1-10刻度的仪表。我想反转模拟输入。模拟输入1024在刻度中为0,模拟输入0在刻度中为10。抱歉,如果这是一个简单的代码,但我刚刚开始编码。谢谢你 您应该能够使用map功能实现您想要的功能 请尝试以下操作: int val = analogRead(0); int newval = map(val, 0, 1023, 10, 0); 前两个数字是输入值的范围,第二对数字是您希望输入映射到的范围 看一看这张照片 注意:我

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

您应该能够使用
map
功能实现您想要的功能

请尝试以下操作:

int val = analogRead(0);
int newval = map(val, 0, 1023, 10, 0);
前两个数字是输入值的范围,第二对数字是您希望输入映射到的范围

看一看这张照片

注意:我手边没有Arduino,因此无法再次检查它是否有效。

这应该有效(我没有这台机器上的编译器进行检查)


您还没有发布任何代码。让我们看看你试过什么。此外,这里有一个想法:使用三的规则来计算量表中的1024个对应项(
0-10
直接)。然后,减去该值的10,并去掉负数。
int val;
val = 10 - (analogRead(0) / 102.4);