Port D isn't Working as Input
You check if power is 1, but it will never be 1. Instead it will be 1&lt;&lt;5 or 32. Better use:

if(Power != 0){
  PORTB |= (1 &lt;&lt; PORTB3);      //set high
}
else{
  PORTB &amp;= ~(1 &lt;&lt; PORTB3);  // set  low  
}