Сообщение от Владимир 013
|
больше всего интересует (val-5); ‹== либо val=val-5;, либо val-=5; вот эта строка
|
Вы вычисляете val-5, но результат нигде не сохраняете.
Поэтому я предположил, что Вы хотели сохранить это в переменной val.
Но. Если Вы данный код выполняете в цикле, то с алгоритмической точки зрения, данная строчка ошибочна, т.к. будет циклически уменьшаться переменная val.
Поэтому, настоятельно советую, а тем более новичку, начинать разработку программы с АЛГОРИТМА.
Если влом рисовать на бумажке, то хоть словами пропишите, что хотите получить от программы, а потом подставьте кодовые "синонимы" в тех языковых конструкциях, которые Вы больше знаете: C/Assembler/Arduino/....
К примеру:
Код:
|
Если реле выключено (котел остывает), то ‹= if (digitalRead(RELAY) == LOW) {
Если температура меньше или равна заданной минус гистерезис, то ‹= if (celsius ‹= val-HYSTERESIS)
Включить реле ‹= digitalWrite(RELAY, HIGH);
Иначе - реле включено (котел нагревается), то ‹= } else {
Если температура больше или равна заданной плюс гистерезис, то ‹= if (celsius ›= val+HYSTERESIS)
Вылючить реле ‹= digitalWrite(RELAY, LOW); } |
Потом, можно заняться оптимизацией кода.