Помогите с контроллером налива

Тема в разделе "Arduino & Shields", создана пользователем Spiker, 26 фев 2017.

  1. Spiker

    Spiker Нуб

    Здравствуйте ,подскажите как правильно написать , чтобы при работающем выходе
    #define EXT_PODMENA_PIN 0 работал канал #define EXT_NALIV_PIN 17 то есть
    при включеной подмене происходила работа реле налива. Был разрешён налив в пределах 3 градусов как в коде.




    код

    Код (C++):
    if (cur_temp > ((float)aquaT-3.0)&& cur_temp < ((float)aquaT+3.0)){   // Разрешён налив от -3  до + 3 градусов от установленного значения

           digitalWrite(EXT_NALIV_PIN,LOW );  // включает налив
        }else
           digitalWrite(EXT_NALIV_PIN,HIGH );   // выключает налив

    т
     
    Последнее редактирование: 26 фев 2017
  2. ostrov

    ostrov Гуру

    Да когда же вы поймете, что правильно сформулированный вопрос залог быстрого и правильного ответа?
     
    Tomasina нравится это.
  3. Spiker

    Spiker Нуб

    Скетч
     

    Вложения:

  4. Tomasina

    Tomasina Сушитель лампочек Модератор

    Скетч есть. Уже хорошо. А вопрос-то в чем? Что такое подмена - пока понятно только вам.
     
  5. Spiker

    Spiker Нуб

    На дисплее в меню есть функция подмена она включает реле на подмену воды в аквариуме .
    Нужно чтобы при его включении работало это условие и включало реле налива
    Код (C++):
    if (cur_temp > ((float)aquaT-3.0)&& cur_temp < ((float)aquaT+3.0)){   // Разрешён налив от -3  до + 3 градусов от установленного значения

           digitalWrite(EXT_NALIV_PIN,LOW );  // включает налив
        }else
           digitalWrite(EXT_NALIV_PIN,HIGH );   // выключает налив
    Когда режим подмена выключить через меню , выключалось реле налива.
    Сейчас в скетче работает реле налива только по заданной температуре.
     
  6. Tomasina

    Tomasina Сушитель лампочек Модератор

    Код (C++):
    if(digitalRead(EXT_PODMENA_PIN) == HIGH  // или LOW, зависит от того, как подключено реле
    {
      if (cur_temp > ((float)aquaT-3.0)&& cur_temp < ((float)aquaT+3.0))  // Разрешён налив от -3  до + 3 градусов от установленного значения
       {
        digitalWrite(EXT_NALIV_PIN,LOW );  // включает налив
       }
      else
       {
        digitalWrite(EXT_NALIV_PIN,HIGH );   // выключает налив
       }
      }
    }
     
    Последнее редактирование: 26 фев 2017
  7. Spiker

    Spiker Нуб

    Не проходит компеляцию пишет ошибку и выделяет красным скобки после этой строки
    if(digitalRead(EXT_PODMENA_PIN)== HIGH // или LOW, зависит от того, как подключено реле
    {
     
  8. Tomasina

    Tomasina Сушитель лампочек Модератор

    Код (C++):
    if(digitalRead(EXT_PODMENA_PIN)) == HIGH // или LOW
    вторую круглую скобку надо было закрыть.
     
  9. Spiker

    Spiker Нуб

    Добавил скобки пишет ошибку
    exit status 1
    expected primary-expression before '==' token
    и выделяет красным сторку
    if(digitalRead(EXT_PODMENA_PIN))== HIGH // или LOW
     
  10. Unixon

    Unixon Оракул Модератор

    Код (C):
    if (digitalRead(EXT_PODMENA_PIN)== HIGH)
    или просто
    Код (C):
    if (digitalRead(EXT_PODMENA_PIN))
     
  11. Spiker

    Spiker Нуб

    Ошибки не выдаёт но всё равно не работает