navigation leds on a model helicopter

Hi all,
Very new to programming and need to make a loop but within the loop i need multiple, single led’s to stay on constantly, double flash and slowly dim from bright to dark then dark to bright. I have read about loops but from what i undestand, each process within the loop needs to finish before the ‘loop’ can continue to the next led command within said loop. it doesnt matter if the flashing and glowing leds are out of sync as long as it is a continuous ‘loop’ with no hold ups that delay the loop before another led command is exiuted eg one led is halfway through its command as another led is starting its own set of instructions. multiple loops within a bigger loop sounds like a timing headache. As you can see from my photo, i have two skid lights and a head light that must stay on perminantly, one double flash tail strobe, and two glowing high to low via stepping as a seamless loop.
Thanks in advance, Rob

1010083_10201348396303424_1783538742_n - Copy.jpg

This may point you in the right direction.

thats for the fast reply, finish baby sitting then muse through it tonight…smashing

ok, thanks guys. as a complete noob to programming and taking note of 'Two or three hours spent thinking and reading documentation solves most programming problems.' i still have the problem of fade and blink with no delay but i cant figure out how to code it. I require 2 leds fading up & down in unison as red navigation beacons and one led double flashing as a white tail strobe all within a single, un delayed loop. i have gone back onto the blink without delay example but cant get my head round the whole concept as im learning the programming language from scratch. groundfungus, i followed your helpful link but it started to get too heavy as soon as someone with a bit more experience than me started to comment, it just clouded the water even more for me.....any help (nice & simple concepts) greatly appreciated

There is no way that I can improve on the given explanations for millis() timing. So here is code for the double flash for the tail strobe.

//tailPin (2) connected to red of common anode rgb LED

const byte tailPin = 2;

unsigned long currMillis = 0;  

void setup()
{
  Serial.begin(115200);
  pinMode(tailPin, OUTPUT);
  digitalWrite(tailPin, HIGH);  //tail LED off
}

void loop()
{
  currMillis = millis();  // what time is it now?
  tailFlash(); 
}

void tailFlash()
{
  static unsigned long prevMillis = 0;  // when we last executed
  static byte flashNum = 0; 
  static byte tailMode = 0;  
  static unsigned long interval = 1000; // time between executions
  // set the times to suit
  const unsigned long tailLong = 1000;
  const unsigned long tailShort = 200;
  const unsigned long tailOn = 100;
  
  if (currMillis - prevMillis >= interval && tailMode == 0)
  {
    digitalWrite(tailPin, LOW);  // light on
    interval = tailOn;  // the intrval for the next step
    tailMode = 1;       // step one of double flash
    flashNum = 0;       // first on time
    prevMillis = currMillis;  // save the time 
  }

  if (currMillis - prevMillis >= interval && tailMode == 1)
  {
    digitalWrite(tailPin, HIGH);  // light off
    interval = tailShort;
    flashNum ++;  
    tailMode = 2;  
    prevMillis = currMillis;
  }

  if (currMillis - prevMillis >= interval && tailMode == 2)
  {
    digitalWrite(tailPin, LOW);  //light back on
    interval = tailOn;           
    tailMode = 1;        // go back to step 1 (light off short time)
    if (flashNum > 1)    // if second flash done go to long off
    {
      digitalWrite(tailPin, HIGH);  
      interval = tailLong;
      tailMode = 0;
      flashNum = 0;  
    }
    prevMillis = currMillis;
  }
}

I have attached the code from above with the addition of the fading nav lights. Tested using an Uno with LEDs attached anode-resistor-input so the output is LOW or 0 to turn the LED on.

heli_lights.ino (2.54 KB)