Do not use "delay()" in real programs (unless you know what you are doing!).
Here's a multi-blink code:
// Blink without "delay()" - multi!
const int led1Pin = 13; // LED pin number
const int led2Pin = 10;
const int led3Pin = 11;
int led1State = 0; // initialise the LED
long int led1time = 10UL; // and an initial time
int led2State = LOW;
int led3State = LOW;
unsigned long count1 = 0; // will store last time LED was updated
unsigned long count2 = 0;
unsigned long count3 = 0;
// Have we completed the specified interval since last confirmed event?
// "marker" chooses which counter to check
boolean timeout(unsigned long *marker, unsigned long interval) {
if (millis() - *marker >= interval) {
*marker += interval; // move on ready for next interval
return true;
}
else return false;
}
void setup() {
pinMode(led1Pin, OUTPUT);
pinMode(led2Pin, OUTPUT);
pinMode(led3Pin, OUTPUT);
led1State = 0; // initialise the LED
led1time = 1UL // and an initial time
}
void loop() {
// Act if the latter time (ms) has now passed on this particular counter,
if (timeout(&count1, led1time )) {
switch (led1State) {
case 0:
{ // begin the sequence
led1State = 1; // next step
led1time = 500UL; // for half a second
digitalWrite(led1Pin, HIGH); // switch it on
break;
}
case 1:
{
led1State = 2; // next step
led1time = 1000UL; // for however
digitalWrite(led1Pin, LOW); // switch it off
break;
}
case 2:
{
led1State = 3;
led1time = 2000UL;
digitalWrite(led1Pin, HIGH); // switch it on
break;
}
case 3:
{
led1State = 0;
led1time = 500UL;
digitalWrite(led1Pin, LOW); // switch it off
break;
}
default:
led1State = 0; // reset
}
}
if (timeout(&count2, 300UL )) {
if (led2State == LOW) {
led2State = HIGH;
}
else {
led2State = LOW;
}
digitalWrite(led2Pin, led2State);
}
if (timeout(&count3, 77UL )) {
if (led3State == LOW) {
led3State = HIGH;
}
else {
led3State = LOW;
}
digitalWrite(led3Pin, led3State);
}
}
It illustrates how to generate a sequence flash on one LED, and simply blink the other two. That should give you plenty of options. Now of course, this is to directly control LEDs, not NeoPixels, but I leave it to you to insert NeoPixel commands as required.