Hallo,

hier gehört durchaus auch noch ein else hinein, sonst schaltet der sofort wieder um, falls es mal high sein sollte !
Code:
   while(1)
   {
     if ( PIND & ( 1<<PIND2 ) )      /* mache was wenn PinD2 High ist */
      {
         PORTD |= (1<<PD5);       /* Setzt Pin D5 auf High */
      }
     else {
      PORTD &= ~ (1<<PD5);          /* Setzt Pin D5 wieder auf low */
     }
     //_delay_ms(20); // wenn delay, dann hier, damit beide Anzeigen zu erkennen sind !
}
return 0;

}