/* Полив через интервал */
int N=5;
int PinNs[5]={5,4,3,2,6}; //нога контроллера
int DlitPol[5]={120,120,120,120,120}; //длительность полива
int IntervalPol[5]={1800,1800,1800,1800,1800}; //интервал полива
int NachSdvig[5] = {300,1500,0,900,450}; //сдвиг времени вкл/выкл конкретной ноги, типа очередность
unsigned long sec;
unsigned long ost;
void setup() {
for (int i=0; i<=N-1; i++){
pinMode(PinNs[i], OUTPUT);
}
}
void loop() {
for (int i=0; i <= N-1; i++)
{
sec = millis()/1000;
ost = (sec+NachSdvig[i]) % IntervalPol[i];
if (ost < DlitPol[i])
{
digitalWrite(PinNs[i],HIGH);
}
else
{
digitalWrite(PinNs[i],LOW);
}
}
delay(500);
}