Операторы if

amss
Offline
Зарегистрирован: 12.02.2020

Здравствуйте уважаемые форумчане.

Требуется ваша помощь. Уже всю голову сломал. Я к сожалению не программист и быть им не планирую. Делаю на ардуино управление термокамерой. Задача такая есть данные: Т0 - температура в камере и Т1 - температура внутри продукта. И соответственно реле - включения нагрева в камере. Нужно чтобы на первом этапе в камере поддерживалась температура Т0 = 30 градусов, пока Т1 не достигнет 15 градусов. Когда Т1 станет более 15 градусов, температура должна уже держаться в камере не выше Т0=60 градусов до достижения Т1=40. Ну и по аналогии следующие этапы.

Я написал такую программу, тут пока выводится на монитор вкл или выкл, затем заменю на команды на вкл выкл реле:

if (T1<=15)  {
 if (T0<=30) { Serial.println("Отепление вкл");}
    else { Serial.println("Отепление выкл");}
}
if (15<T1<=40)  {
 if (T0<=60) {Serial.println("Сушка вкл");}
    else { Serial.println("Сушка выкл");}
}
Но на практике вышло, что при Т1=25 и Т0=25 (температура в комнате) выполняются оба условия и включена и сушка и отепление. Что блин не так?
Кстати с помощью оператора goto вроде все работает, но управление через телефон на RemoteXY не поддерживает этот оператор.
Помогите пожалуйста разобраться.
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

1. Прочитайте первую тему в разделе "Песочница" и "перезайдите" (в новом сообщении в этом же топике).

2. А вообще, если Вы

amss пишет:
не программист и быть им не планирую.

но, при этом

amss пишет:
Делаю на ардуино управление термокамерой.

То Вам надо либо "спланировать" и учиться программировать, либо заказать эту работу специалисту. По одиночным подсказкам Вы этого не сделаете.