如何实现一个C代码来获得比例输出电流(mA)值,以%的杠杆打开作为输入



我有一个可以手动拉动的杠杆/操纵杆,根据拉动量的百分比,它的值范围在(0到250(之间。这是我对C代码的输入。C代码应在0至2000 mA的范围内给出电流的比例值作为输出。例如:操纵杆的0拉力给出0 mA电流,操纵杆的250(最大(拉力给出2000 mA电流作为输出,并且这些值之间的比例值。我不知道如何在C中设计这样一个代码。我在想,也许代码应该使用方程y=mx+C,以获得实时输入的连续比例输出。有人能帮我吗?

给定输入和输出范围,此代码计算线性方程的比例因子(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);

最新更新