帮助Arduino和Analog Min Max设置

时间:2010-06-18 13:13:39

标签: c++ c arduino

嘿那里,我有以下代码:

  sVal = analogRead(potPin);    // read the value from the sensor
  valMin = min(sVal, 1);
  valMax = max(sVal, 128);
  constrain(sVal,valMin,valMax);

  itoa(sVal, res, 10);
  println(res);
  println(" ");
  delay(150);
  clearScreen();

现在由于某种原因,gLCD屏幕上的输出几乎总是1023。 我希望电位器的最小值为1,最大值为128。

2 个答案:

答案 0 :(得分:5)

您的代码表明对min,max和constrain函数缺乏了解。我建议你仔细阅读文档。

与此同时,这是我认为你所追求的:

sVal = analogRead(potPin);
sVal = sVal / 8 + 1; //scale value [0.. 1023] to [1.. 128]

itoa(sVal, res, 10);
println(res);
println(" ");
delay(150);
clearScreen();

答案 1 :(得分:3)

API中已经有一个范围映射函数,例如:

 res = map(analogRead(potPin), 0,1023, 1,128);