// Definirea pinilor pentru relee
const int relay1Pin = 2;
const int relay2Pin = 3;
const int relay3Pin = 4;
const int relay4Pin = 5;
const int LEDpin = 6;
 
// Variabile pentru temporizare
unsigned long previousMillis1 = 0;
unsigned long previousMillis2 = 0;
unsigned long previousMillis3 = 0;
unsigned long previousMillis4 = 0;
long rememberTime=0;// this is used by the code
const long interval1 = 333; // Interval pentru pattern-ul "DI" (333 ms)
const long interval2 = 5000; // Interval pentru pattern-ul "Stop & Reverse" (5 minute)
const long interval3 = 10000; // Interval pentru pattern-ul "Fog" (10 minute)
const long onDuration = 1000;// OFF time for LED
const long offDuration = 500;// ON time for LED
int LEDState =HIGH;// initial state of LED
//long rememberTime=0;// this is used by the code
void setup() {
  // Inițializarea pinilor pentru relee ca ieșiri
  pinMode(relay1Pin, OUTPUT);
  pinMode(relay2Pin, OUTPUT);
  pinMode(relay3Pin, OUTPUT);
  pinMode(relay4Pin, OUTPUT);

  digitalWrite(relay3Pin, HIGH);
  digitalWrite(relay4Pin, HIGH);
}
void loop() {
  unsigned long currentMillis = millis();
  // Pattern-ul "Tail" - aprinde continuu
   digitalWrite(relay1Pin, HIGH);

  // Pattern-ul "DI" - clipire la fiecare 333 ms
  if (currentMillis - previousMillis2 >= interval1) {
    previousMillis2 = currentMillis;
    digitalWrite(relay2Pin, !digitalRead(relay2Pin)); // Inversarea stării  
  }
  // Pattern-ul "Stop & Reverse" - alternanță între 5 min On și 5 min Off
  if (currentMillis - previousMillis3 >= interval2) {
    previousMillis3 = currentMillis;
    digitalWrite(relay3Pin, !digitalRead(relay3Pin)); // Inversarea stării
  }
  // Pattern-ul "Fog" - alternanță între 10 min On și 10 min Off
  if (currentMillis - previousMillis4 >= interval3) {
    previousMillis4 = currentMillis;
    digitalWrite(relay4Pin, !digitalRead(relay4Pin)); // Inversarea stării
  }
 
  //Pattern 
   if( LEDState ==HIGH )
{
    if( (millis()- rememberTime) >= onDuration){   
    LEDState = LOW;// change the state of LED
    rememberTime=millis();// remember Current millis() time
    }
}
else
{   
    if( (millis()- rememberTime) >= offDuration){     
    LEDState =HIGH;// change the state of LED
    rememberTime=millis();// remember Current millis() time
    }
}
 
 
digitalWrite(LEDpin,LEDState);// turn the LED ON or OFF
  }

uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
NOCOMNCVCCGNDINLED1PWRRelay Module
relay2:VCC
relay2:GND
relay2:IN
relay2:NC
relay2:COM
relay2:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay3:VCC
relay3:GND
relay3:IN
relay3:NC
relay3:COM
relay3:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay4:VCC
relay4:GND
relay4:IN
relay4:NC
relay4:COM
relay4:NO
NOCOMNCVCCGNDINLED1PWRRelay Module
relay5:VCC
relay5:GND
relay5:IN
relay5:NC
relay5:COM
relay5:NO