Lampada RGB con Apple Remote

Nella seconda versione che hai postato, lumi la inizializzi, la aumenti/diminuisci a seconda del tasto del remote.
Ma poi NON la usi, non c'e' più nessun analogWrite (r1, lumi); !!! :grin:

un consiglio, per fare debug e vedere da te dove stai passando nel programma.
Nella setup, come prime istruzioni aggiungi:

delay(1000);
Serial.begin(9600);

Questo permette di inviare dei dati al monitor di arduino IDE
Ora nel modo0:

void modo0()
{ if (PP==HIGH)
  {   analogWrite (r1, lumi);
      analogWrite (g1, lumi);
      analogWrite (b1, lumi);
      analogWrite (r2, lumi);
      analogWrite (g2, lumi);
      analogWrite (b2, lumi);
      Serial.print("Modo 0: lumi="); Serial.println(lumi);
  } 
  else 
  { analogWrite (r1, 0);
    analogWrite (g1, 0);
    analogWrite (b1, 0);
    analogWrite (r2, 0);
    analogWrite (g2, 0);
    analogWrite (b2, 0);
    Serial.print("Modo 0: spento"); 
  }
}

Altro suggerimento, creati anche una costante per il numero di modi:

  const K_MAXMODI=3;

nel codice:

  if(modo <3)   => diventa      if(modo<K_MAXMODI)

anche nell'altro punto

  modo = 3;    => diventa     modo=K_MAXMODI;