Wen du einfach den Zustand speicherst (also genau richtig, zu hell, zu dunkel), kannst du einfach überprüfen, ob dieser sich geändert hat. Wenn dies der Fall ist, gibst du die entsprechende Meldung aus.

Beispiel:

Code:
unsigned char brightOld = 0;
void light(void){

 unsigned char bright;

 if(adcLSR<400){
    bright = 1;
 }
 else if((adcLSR<1000)&&(adcLSR>400)){
    bright = 0;
 }
 else{
    bright = 2;
 }

 if(bright != brightOld){
    switch(bright){
       case 0:
          writeString_P("\nDie Lichtverhältnisse hier sind wirklich gut. So lässt es sich Leben:)!\n");
          break;
       case 1:
          writeString_P("\nMach das Licht an!\n");
          break;
       case 2:
          writeString_P("\nMir ist es hier zu hell!\n");
          break;
    }
 }

 brightOld = bright;

}
Die müsste dann aus der while-Schleife aufgerufen werden.

mfg
zerush

EDIT: sorry, hab jetzt ers gesehn, dass schon soviele neuen Antworten kamen... naja aber mehrere Möglichkeiten schaden ja nicht