Диапазон температуры от 72 градусов до 137 градусов. Диапазон ШИМа от 100 процентов до 10 процентов. Всё, что не в диапазоне не рассматривается. По свойству пропорции получилось уравнение: Искомый шим на выходе = ((Т(полученное)*100 процентов/диапазон(137-62)) Вот не могу сообразить как 10 процентов учесть в пропорции, может условие какое добавить. От 100 до 0 процентов всё нормально, но мне необходимо от 100 до 10 (чтобы 137 градусов был примерно равен 10 процентам). Прошу подсказать! Температура 73 = Шим = 98.46153846153847 Температура 74 = Шим = 96.92307692307692 Температура 75 = Шим = 95.38461538461539 Температура 76 = Шим = 93.84615384615384 Температура 77 = Шим = 92.3076923076923 Температура 78 = Шим = 90.76923076923077 Температура 79 = Шим = 89.23076923076923 Температура 80 = Шим = 87.6923076923077 Температура 81 = Шим = 86.15384615384616 Температура 82 = Шим = 84.61538461538461 Температура 83 = Шим = 83.07692307692308 Температура 84 = Шим = 81.53846153846153 Температура 85 = Шим = 80.0 Температура 86 = Шим = 78.46153846153847 Температура 87 = Шим = 76.92307692307692 Температура 88 = Шим = 75.38461538461539 Температура 89 = Шим = 73.84615384615384 Температура 90 = Шим = 72.3076923076923 Температура 91 = Шим = 70.76923076923077 Температура 92 = Шим = 69.23076923076923 Температура 93 = Шим = 67.6923076923077 Температура 94 = Шим = 66.15384615384616 Температура 95 = Шим = 64.61538461538461 Температура 96 = Шим = 63.07692307692308 Температура 97 = Шим = 61.53846153846154 Температура 98 = Шим = 60.0 Температура 99 = Шим = 58.46153846153846 Температура 100 = Шим = 56.92307692307692 Температура 101 = Шим = 55.38461538461539 Температура 102 = Шим = 53.84615384615385 Температура 103 = Шим = 52.30769230769231 Температура 104 = Шим = 50.76923076923077 Температура 105 = Шим = 49.23076923076923 Температура 106 = Шим = 47.69230769230769 Температура 107 = Шим = 46.15384615384615 Температура 108 = Шим = 44.61538461538461 Температура 109 = Шим = 43.07692307692308 Температура 110 = Шим = 41.53846153846154 Температура 111 = Шим = 40.0 Температура 112 = Шим = 38.46153846153846 Температура 113 = Шим = 36.92307692307692 Температура 114 = Шим = 35.38461538461539 Температура 115 = Шим = 33.84615384615385 Температура 116 = Шим = 32.30769230769231 Температура 117 = Шим = 30.76923076923077 Температура 118 = Шим = 29.23076923076923 Температура 119 = Шим = 27.692307692307693 Температура 120 = Шим = 26.153846153846153 Температура 121 = Шим = 24.615384615384617 Температура 122 = Шим = 23.076923076923077 Температура 123 = Шим = 21.53846153846154 Температура 124 = Шим = 20.0 Температура 125 = Шим = 18.46153846153846 Температура 126 = Шим = 16.923076923076923 Температура 127 = Шим = 15.384615384615385 Температура 128 = Шим = 13.846153846153847 Температура 129 = Шим = 12.307692307692308 Температура 130 = Шим = 10.76923076923077 Температура 131 = Шим = 9.23076923076923 Температура 132 = Шим = 7.6923076923076925 Температура 133 = Шим = 6.153846153846154 Температура 134 = Шим = 4.615384615384615 Температура 135 = Шим = 3.076923076923077 Температура 136 = Шим = 1.5384615384615385 Температура 137 = Шим = 0.0
ты в школе не учился штоли? один отрезок на другой спроецировать не можешь? у тя один отрезок = (137 -72) = 65 градусов второй 90 (100 - 10) попугаев ШИМ Дальше продолжать? Или своего образования хватит?
у тебя ШИМ в таком уравнении укладывается в 0..90, что надо сделать чтоб он стал 10..100? Я верю, ты сможешь
для особотупых код Код (C++): constexpr int8_t MIN_TEMP = 72; constexpr int8_t MAX_TEMP = 137; constexpr uint8_t MIN_PWM = 10; constexpr uint8_t MAX_PWM = 100; // ATemp исключительно в диапаносе 72..137, никаких проверок не делается uint8_t GetPWMFromTemp(int8_t ATemp) { float koeff = (float(MAX_PWM - MIN_PWM)) / (MAX_TEMP - MIN_TEMP); uint8_t resultPWM = round(koeff * (MAX_TEMP - ATemp)) + MIN_PWM; return resultPWM; }
Спасибо Температура 73 = Шим = 98.32 Температура 74 = Шим = 96.94 Температура 75 = Шим = 95.55999999999999 Температура 76 = Шим = 94.17999999999999 Температура 77 = Шим = 92.8 Температура 78 = Шим = 91.41999999999999 Температура 79 = Шим = 90.03999999999999 Температура 80 = Шим = 88.66 Температура 81 = Шим = 87.28 Температура 82 = Шим = 85.89999999999999 Температура 83 = Шим = 84.52 Температура 84 = Шим = 83.14 Температура 85 = Шим = 81.75999999999999 Температура 86 = Шим = 80.38 Температура 87 = Шим = 79.0 Температура 88 = Шим = 77.61999999999999 Температура 89 = Шим = 76.24 Температура 90 = Шим = 74.86 Температура 91 = Шим = 73.47999999999999 Температура 92 = Шим = 72.1 Температура 93 = Шим = 70.72 Температура 94 = Шим = 69.34 Температура 95 = Шим = 67.96 Температура 96 = Шим = 66.58 Температура 97 = Шим = 65.19999999999999 Температура 98 = Шим = 63.81999999999999 Температура 99 = Шим = 62.44 Температура 100 = Шим = 61.059999999999995 Температура 101 = Шим = 59.67999999999999 Температура 102 = Шим = 58.3 Температура 103 = Шим = 56.919999999999995 Температура 104 = Шим = 55.54 Температура 105 = Шим = 54.16 Температура 106 = Шим = 52.779999999999994 Температура 107 = Шим = 51.4 Температура 108 = Шим = 50.019999999999996 Температура 109 = Шим = 48.64 Температура 110 = Шим = 47.26 Температура 111 = Шим = 45.879999999999995 Температура 112 = Шим = 44.5 Температура 113 = Шим = 43.12 Температура 114 = Шим = 41.739999999999995 Температура 115 = Шим = 40.36 Температура 116 = Шим = 38.98 Температура 117 = Шим = 37.599999999999994 Температура 118 = Шим = 36.22 Температура 119 = Шим = 34.839999999999996 Температура 120 = Шим = 33.459999999999994 Температура 121 = Шим = 32.08 Температура 122 = Шим = 30.7 Температура 123 = Шим = 29.32 Температура 124 = Шим = 27.939999999999998 Температура 125 = Шим = 26.56 Температура 126 = Шим = 25.18 Температура 127 = Шим = 23.799999999999997 Температура 128 = Шим = 22.419999999999998 Температура 129 = Шим = 21.04 Температура 130 = Шим = 19.66 Температура 131 = Шим = 18.28 Температура 132 = Шим = 16.9 Температура 133 = Шим = 15.52 Температура 134 = Шим = 14.14 Температура 135 = Шим = 12.76 Температура 136 = Шим = 11.379999999999999 Температура 137 = Шим = 10.0
по правде сказать - ушёл от коэффициента - потомучто понимал, что он будет флоат - вот и сунулся в пропорцию - мой блок может только округлять
ладно ещё раз спасибо сейчас себя проверил все работает - в железе обкатаю - спасибо за азы Update: x = 72 y = 137 t = 0 v = 0 k = (90/65)*100#коэффициент зависимости шим к диапазону температуры for i in range (65): x+=1 t = y - x#температура полученная v = ((k*(t))+1000)/100 # чтобы получить в процентах шим print('Температура ', ' ',x,' = ', 'Шим = ',v)