UVA/RPAS Drone Pilot led flight

Kanskje Scandinavian er rett sted for rett hjelp?
Ta en titt her:

UVA/RPAS Drone pilot light, My new arrived Arduino need to do else the "Hello word-led blink...
So to my DJI P3 drone, this is the project text:

// Project 1 - Pilot UVA Lights

int ledDelay = 400; // delay by 400ms
int redPin = 3;
int green1Pin = 5;
int green2Pin = 6;

void setup() {
pinMode(redPin, OUTPUT);
pinMode(green1Pin, OUTPUT);
pinMode(green2Pin, OUTPUT);

}

void loop()

{

So far, so good, but
how to tell Arduino at power on "run this cycle for 3 minutes ON, pause OFF for 2 minutes, after OFF period re-start again;
while in this period of tot. 5 minutes, this happened:

LED red at pin 3 Give two flash (400mS) each 4th second (duration flash periode 1 second),
while two seperate green led (=1 & 2) stay stable for constant 40 % light in this 2 minutes periode, LED 1 flash twice within 1 second, pause 3 second, before green LED 2 flashing twice duration 1 second, pause 3 second, green LED 1 start this cycle again. RED led running it's own cycles, at same time as GREEN led operating.

This is my Arduino project with RED 2 parallel 3 watts mini LED, and two seperate 3 watt green mini LED. Using a MOSFET n-Ch. for drive this 3W led, MOSFET 30 volt @ 5,8A-SOT-23 case.
Power source: Li-Po 11.1 volt 1200mAh. The out put stage are already finish, but this program step, are more complicated to finished.

Thanks for reading, any volunteers to help me?

Eftersom du frågar i Scandianvia må vel svaret være på "skandinvisk" :wink: ?

Kig på denne tråd : http://forum.arduino.cc/index.php/topic,76140.html - spørgsmålet er ofte spurgt i mange variationer.

Du bliver nødt til at tænke og forstå ideen. Du udvider idet testen for om der skal tænde/slukkes er
if ( (millis () - greenLEDtimer) >= greenLEDinterval )
At du udvider den med

 if ( stage==1 && (millis () - greenLEDtimer) >= greenLEDinterval_1 ) {
  blink/sluke/releoad milis
  stage = 2 }
 if ( stage==2 && (millis () - greenLEDtimer) >= greenLEDinterval_2 ) {
  blink/sluke/releoad milis
  stage = 2 }
 if ( stage==3 && (millis () - greenLEDtimer) >= greenLEDinterval_3 ) 
  .. osv ...

Det kan gøre smukkere med arrays og tydligere man buger en StateEngine - men jeg tror du nemmere kan forstå dette som et første program.