The only thing I can see change between the two modes is the delay
// COMBINED MODE 1 & 2 CODE FROM WHAT YOU GAVE
int led = 13;
int mode = 1; // Set mode 1 start
static int delay1[2] = {500, 0}; // 500ms delay for mode 1, 0 ms delay for mode 2
static int delay2[2] = {500, 5000}; // 500ms delay for mode 1, 5000 ms delay for mode 2
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(delay1[mode-1]); // wait depending on mode .. dont forget arrays start at zero in c
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(delay2[mode-1]); // wait depending on mode .. dont forget arrays start at zero in c
// this is just to show off both modes usually something does this change
// this code simple forces alternation between the 2 modes
if (mode == 1) mode = 2; else mode = 1;
}
In vino veritas