帮助Arduino和Analog Min Max设置

Bar*_*der 2 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();
Run Code Online (Sandbox Code Playgroud)

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

Art*_*ius 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();
Run Code Online (Sandbox Code Playgroud)