Я предполагаю, что вам нужны линейные отношения, поэтому вы можете использовать следующий код:
INPUT_MIN = 0
INPUT_MAX = 255
OUTPUT_MIN = -60
OUTPUT_MAX = 20
SLOPE = (OUTPUT_MAX - OUTPUT_MIN) / (INPUT_MAX - INPUT_MIN)
def rx(sensor_input):
return SLOPE * (sensor_input - INPUT_MIN) + OUTPUT_MIN
def tx(dbs):
return (dbs - OUTPUT_MIN) / SLOPE + INPUT_MIN
Что вам нужно сделать, это найти уравнение линии, заданное этими двумя точками.В Интернете есть множество учебных пособий, таких как этот .
Как только вы нашли уравнение, в котором y
будет переменной, представляющей ваш вывод, а x
- ваш вводвам нужно найти x
в терминах y
.Наконец, вы просто реализуете обе функции.
Обратите внимание, что я не ограничил ввод, поэтому в случае, если вы хотите ограничить ввод значений, я рекомендую вам добавить некоторые функции в функции.