Dovresti fare una cosa del genere
volatile byte Cycle = 1;
ISR(TIMER1_COMPA_vect)//timer1 interrupt 1Hz toggles pin 13 (LED)
{
switch (Cycle) {
case 1:
PORTD |= (1 << PORTD2); // HIGH
PORTD &= ~(1 << PORTD4); // LOW
PORTD |= (1 << PORTD7); // HIGH
break;
case 2:
digitalWrite(7, LOW);
break;
case 3:
digitalWrite(4, HIGH);
break;
case 4:
digitalWrite(2, LOW);
break;
case 5:
digitalWrite(7, HIGH);
break;
case 6:
digitalWrite(4, LOW);
Cycle = 0;
}
Cycle++;
}
Il resto la lascio a te.
Ti conviene definire lo stato di tutti e tre pin in ogni case.