come risolvere??

Ho modificato leggermente il tuo sketch inserendo il blocco switch

int marco;
int lavatrice = 0;

void setup() {
  pinMode(13, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(11, INPUT);
  Serial.begin(9600);
}


void loop()     {
  marco = digitalRead(11);
  if (marco == HIGH) {
    delay(20);                                      // debounce
    switch (lavatrice) {
      case 0:
        digitalWrite(13, HIGH);
        Serial.println("LED ROSSO ACCESO");
        digitalWrite(2, LOW);
        Serial.println("LED VERDE SPENTO");
        lavatrice = 1;
        delay(500);
        Serial.println("STOP");
        break;

      case 1:
        digitalWrite(13, LOW);
        Serial.println("LED ROSSO SPENTO");
        digitalWrite(2, HIGH);
        Serial.println("LED VERDE ACCESO");
        lavatrice = 2;
        delay(500);
        Serial.println("STOP");
        break;

      case  2:
        digitalWrite(13, HIGH);
        Serial.println("LED ROSSO ACCESO");
        digitalWrite(2, HIGH);
        Serial.println("LED VERDE ACCESO");
        lavatrice = 3;
        delay(500);
        Serial.println("STOP");
        break;

      case 3:
        digitalWrite(13, HIGH);
        Serial.println("LED ROSSO ACCESSO");
        digitalWrite(2, LOW);
        Serial.println("LED VERDE SPENTO");
        delay(1000);
        digitalWrite(13, LOW);
        Serial.println("LED VERDE ACCESSO");
        digitalWrite(2, HIGH);
        Serial.println("LED ROSSO SPENTO");
        lavatrice = 0;
        delay(500);
        Serial.println("");
        Serial.println("STOP");
        break;

      default:
        break;
    }
  }
}// end loop

Lo switch case permette di selezionare uno dei casi in base alla variabile di controllo, nel tuo caso lavatrice.
Ora devi solamente cambiare il modo di gestire la variabile lavatrice in modo che cambi ogni volta che premi il pulsante e non in base ai casi precedenti.

Se hai difficoltà chiedi. :wink:
Buona domenica.