3

私は arduino のスケッチを書いていますが、私のセンサーは 400 から 1023 の間の値を示しています。これらの値を 400 が 0%、1023 が 100% のパーセンテージに変換したいと考えています。いろいろな方程式をいじってきましたが、私の代数は少し錆びています。Cでこれを行う簡単な方法はありますか?

4

5 に答える 5

6
double percentage = (value - 400) / (double) (1023 - 400);

これにより、0.0 から 1.0 の間のパーセンテージが得られます。0 から 100 の間にしたい場合は、100 を掛けます。

于 2013-08-02T23:03:37.367 に答える
1

map 関数をお勧めします: map(value, fromLow, fromHigh, toLow, toHigh)

percentage = map(your_value, 400, 1023, 0, 100);
于 2013-08-04T07:39:12.963 に答える
1

代数

  0%    <-> 400
  100%  <-> (1023-400)

値 x = 850 を取得するとしましょう

パーセンテージは次のとおりです。

      (850 - 400)/(1023 - 400)*100 = (100*x-40000)/623

double in = get_value();
double percent = (double)(100*in - 40000.0)/623;
于 2013-08-02T23:03:54.943 に答える
0

ADC値は常に人間の形に変換する必要があるため、arduinoには実際にこのための組み込み関数があります。

ここをチェック

于 2013-08-03T18:18:47.150 に答える