我有一個可以手動拉動的杠桿/操縱桿,它的值范圍在(0 到 250)之間,具體取決于拉動量的百分比。這是我對 C 代碼的輸入。C 代碼應在 0 到 2000 mA 范圍內給出電流的比例值作為輸出。例如:操縱桿的 0 拉力提供 0mA 電流,操縱桿 250(最大)拉力提供 2000mA 電流作為輸出,兩者之間的值成比例。我無法弄清楚如何在 C 中設計這樣的代碼。我在想代碼應該使用方程 y=mx c,以獲得實時輸入的連續比例輸出。請問有人可以幫我嗎?
uj5u.com熱心網友回復:
給定輸入和輸出范圍,此代碼計算可以從輸入計算比例輸出的線性方程的比例因子 (m) 和偏移量 (c)。即使最小范圍不為零,此代碼也有效。
您可能需要調整變數型別和舍入問題以滿足您的應用程式的需要。
int const input_min = 0;
int const input_max = 250;
int const output_min = 0;
int const output_max = 2000;
float scaling_factor_m = (float)(output_max - output_min) / (input_max - input_min);
float offset_c = (output_min - (input_min * scaling_factor_m));
int input_value_x = InputGetValue(); // From ADC or whatever
int output_value_y = (int)((input_value_x * scaling_factor_m) offset_c);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/516698.html
上一篇:char陣列的長度
