Prof Creative Commons License 2017.09.23 0 0 3075

Szia,
Kb. 45 napig üzembiztos, utána újra kell indítani.

 

// led 1 declarations
#define ledPin1 12 // the number of the LED pin
bool ledState1 = false; // ledState of first LED
unsigned long OnTime1 = (60L * 1000L); // milliseconds of on-time (seconds * milliseconds)
unsigned long EndTime1 = 0; // value of millis() when LED 1 should shut off

// led 2 declarations
#define ledPin2 13 // the number of the LED pin
bool ledState2 = false; // ledState of second LED
unsigned long OnTime2 = (90L * 1000L); // milliseconds of on-time (seconds * milliseconds) for LED2
unsigned long EndTime2 = 0; // value of millis() when LED 1 should shut off

// Full Cycle declarations
unsigned long CycleTime = (2L * 60L * 1000L); // cycle time in ms. (minutes * seconds * milliseconds)
unsigned long EndTimeCycle = 0; // value of millis() when the new cycle should start


void setup()
{
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);

// Inisital start
startCycle();
}

void startCycle() {
EndTimeCycle = millis() + CycleTime;
EndTime1 = millis() + OnTime1;
EndTime2 = millis() + OnTime2;
ledOneOn;
ledTwoOn;
}

void ledOneOn() // Turns led 1 ON
{
digitalWrite(ledPin1, HIGH);
ledState1 = true;
}

void ledOneOff() // Turns led 1 off
{
digitalWrite(ledPin1, LOW);
ledState1 = false;
}

void ledTwoOn() // Turns led 2 ON
{
digitalWrite(ledPin2, HIGH);
ledState2 = true;
}

void ledTwoOff() // Turns led 2 off
{
digitalWrite(ledPin2, LOW);
ledState2 = false;
}

void loop()
{
// check if leds is out of ON time
if (ledState1 && EndTime1 <= millis()) ledOneOff();
if (ledState2 && EndTime2 <= millis()) ledTwoOff();

// check if the cycle has ended
if (ledState1 == false && ledState2 == false && EndTimeCycle <= millis()) startCycle();
}