как включить насос на Arduino - PullRequest
0 голосов
/ 27 апреля 2020

Я хочу создать проект, который может запустить насос в соответствии со следующими условиями

насос 1 включится, если "jaraak" меньше 5

насос 2 будет включен, если " jaraak "больше чем 10

насос 3 и 4 включатся, если" tdsvalue "меньше 700

насос 2 будет включен, если" tdsvalue "больше 800

код, который я сделал правильно, потому что в моем коде просто насос 1 всегда включен

if (jaraak <= 5)
    { antares.getInt("jaraak");
      antares.add("Tandon Aman, jarak air " , jaraak  );
      digitalWrite(pompa1, pompaON);
      digitalWrite(pompa2, pompaOFF);
      }

  if (jaraak >= 10) 
    { antares.getInt("jaraak");
      antares.add("Tandon Habis, jarak air " , jaraak  );
      digitalWrite(pompa1, pompaOFF);
      digitalWrite(pompa2, pompaON);
      }

  if (tdsValue < 700)
    { antares.getFloat("tdsValue");
      antares.add("\n Kepekatan Nutrisi (ppm)" , tdsValue  );
      {digitalWrite(pompa3, pompaON);
      digitalWrite(pompa4, pompaON);}
    }

  if (tdsValue > 800)
    { antares.getFloat("tdsValue");
      antares.add("\n Kepekatan Nutrisi (ppm)" , tdsValue  );
      digitalWrite(pompa3, pompaOFF);
      digitalWrite(pompa4, pompaOFF);
      digitalWrite(pompa2, pompaON);
    }

1 Ответ

0 голосов
/ 27 апреля 2020

Код не учитывает все возможные значения переменных. Рассмотрим эту альтернативу:

if (jaraak < 5)   // You say: "the pump 1 will on if jaraak LESS than 5"
{                 //          "the pump 2 will on if jaraak MORE than 10" 
     // ...
     digitalWrite(pompa1, pompaON);
     digitalWrite(pompa2, pompaOFF);
}
else if (jaraak <= 10)  // <-- This is the case when  5 <= jaraak <= 10
{
     // ...
     digitalWrite(pompa1, pompaOFF);
     digitalWrite(pompa2, pompaOFF);
}
else                    // <-- This is the case when  jaraak > 10
{
     // ...
     digitalWrite(pompa1, pompaOFF);
     digitalWrite(pompa2, pompaON);
}
// The same for tdsvalue 
...