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