Ausgang mit Serieller Eingabe steuern

Mehrere Probleme:

  1. Nach Serial.read() liefert das folgende Serial.available() eins weniger.
    Mit umgekehrter Reihenfolge geht es besser:
   if ( Serial.available() > 0 )
   {
       char c = Serial.read();
   }
  1. Vergleiche im if gehen mit == oder !=
    Ein einfaches = ist eine Zuweisung. Das ist syntaktisch (leider) auch richtig, das if ist true wenn etwas != 0 zugewiesen wurde.
  2. Wenn du ( z.B. mit SerialMonitor ) eine '1' sendest, kommt ein Buchstabe '1' an, das ist etwas anderes als die Zahl 1
    if (incoming == '1')

( 4. Du erleichterst dir (vermutlich) das Leben wenn z.B. '1' einschaltet und '0' ausschaltet. Dann musst du dir nicht merken, was vorher war )