Непонятки с напряжением на выводах

Anton94

✩✩✩✩✩✩✩
12 Мар 2025
1
0
Оформи код соответствующим тэгом, см. Правила
Если загружаю первые 2 этапа все работает как положено, если все 4 то на первом этапе на реле загараются диоды как будто бы сигнал пришел и реле должно отработать,но она не отрабатывает, на следующих этапах некоторые реле отрабатывают, некоторые нет, ардуинка и реле подключены через блок питания. Пробовал на uno,nano, везде одно и тоже


Ардуино:
int timeCold = 5;

int pinCold = 2;

int timeHot = 5;

int pinHot = 3;

int timeAlkali = 5;

int pinAlkali = 4;

int timeAcid = 5;

int pinAcid = 5;

int timeDrain = 5;

int pinDrain = 6;

int timePump = 5;

int pinPump = 7;

int pause = 5;

int pinPause = 13;

int sec = 0;

unsigned long timer;



void timerOperation(int numStart, int numFinish, int contact){



  if (sec > numStart && sec < numFinish){

 

    digitalWrite(contact, HIGH);

  }

  else{

    digitalWrite(contact, LOW);

  }

}

void setup() {

  Serial.begin(9600);

  timer = millis();

  pinMode(pinCold, OUTPUT);

  pinMode(pinHot, OUTPUT);

  pinMode(pinAlkali, OUTPUT);

  pinMode(pinAcid, OUTPUT);

  pinMode(pinDrain, OUTPUT);

  pinMode(pinPump, OUTPUT);

  pinMode(pinPause, OUTPUT);

}

void loop() {

  if (millis() - timer > 1000) {

    timer = millis();

    sec = sec + 1;

    Serial.println(String(sec));

  }

  //      1

  int timerHotOne = 0 + timeHot;

  timerOperation(0, timerHotOne, pinHot);

  int timerPumpOne = timerHotOne + timePump;

  timerOperation(timerHotOne, timerPumpOne, pinPump);

  int timerDrainOne = timerPumpOne + timeDrain;

  timerOperation(timerPumpOne, timerDrainOne, pinDrain);



//  2

  int timerHotTwo = timerDrainOne + timeHot;

  timerOperation(timerDrainOne, timerHotTwo, pinHot);

  int timerAlkali = timerHotTwo + timeAlkali;

  timerOperation(timerHotTwo, timerAlkali, pinAlkali);

  int timerPumpTwo = timerAlkali + timePump;

  timerOperation(timerAlkali, timerPumpTwo, pinPump);

  int timerPauseOne = timerPumpTwo + pause;

  timerOperation(timerPumpTwo, timerPauseOne, pinPause);

  int timerDrainTwo = timerPauseOne + timeDrain;

  timerOperation(timerPauseOne, timerDrainTwo, pinDrain);

  //   3

  int timerCold = timerDrainTwo + timeCold;

  timerOperation(timerDrainTwo, timerCold, pinCold);

  int timerAcid = timerCold + timeAcid;

  timerOperation(timerCold, timerAcid, pinAcid);

  int timerPumpThree = timerAcid + timePump;

  timerOperation(timerAcid, timerPumpThree, pinPump);

  int timerPauseTwo = timerPumpThree + pause;

  timerOperation(timerPumpThree, timerPauseTwo, pinPause);

  int timerDrainThree = timerPauseTwo + timeDrain;

  timerOperation(timerPauseTwo, timerDrainThree, pinDrain);



  //      4

  int timerHotThree = timerDrainThree + timeHot;

  timerOperation(timerDrainThree, timerHotThree, pinHot);

  int timerPumpFour = timerHotThree + timePump;

  timerOperation(timerHotThree, timerPumpFour, pinPump);

  int timerDrainFour = timerPumpFour + timeDrain;

  timerOperation(timerPumpFour, timerDrainFour, pinDrain);

}
 
Изменено: