Вопрос по программе

Тема в разделе "Arduino & Shields", создана пользователем Timoshenko Mitya, 27 май 2015.

  1. Всем привет! столкнулся с проблемой: есть датчик температуры ds18B20, нужно чтобы при повышении температуры до 30 градусов включалось реле, и выключалось при понижении температуры до 25. Но сделать это почему то не получается. После 30 градусов реле замыкается, но при падении температуры до 25 оно так же остается включенным, смотрю в сириал порт температура и вправду падает, но почему то ничего не происходит. я правильно понимаю алгоритм? Если что то не так, прошу помощи:

    Код (Text):
    if (Temp_2 > 30)
    {
      while (Temp_2 > 25)
        {
            включаем реле
            снимаем показания с датчика и выводим их в    ком порт
        }
    }
    else
      выключаем реле
     
  2. X-Dron

    X-Dron Гик

    нет.
    Если Temp_2 <= 30 то тело цикла выполняться, естественно, не будет.
    if (Temp_2 > 30) digitalWrite(13, HIGH);
    if (Temp_2 < 25) digitalWrite(13, LOW);

    или так
    boolean var_b;
    if (Temp_2 > 30) var_b = true;
    if (Temp_2 < 25) var_b = false;
    digitalWrite(13, var_b);
     
    Последнее редактирование: 27 май 2015
  3. DrProg

    DrProg Вечный нерд

    Два разных if друг за другом самое простое и правильное.