 */
 void goToSleep() {
   set_sleep_mode(SLEEP_MODE_PWR_DOWN);
-  ADCSRA = 0; // turn off ADC
-  power_all_disable (); // power off ADC, Timer 0 and 1, serial interface
+  // Disable ADC when we are in deep sleep state, otherwise have it on
+  // We are missing the first analogRead in the game state this way, but we can afford
+  // it for the sake of code simplicity
+  ADCSRA = currentState == DEEP_SLEEP ? 0 : enabledADCSRA;
+  power_all_disable(); // power off ADC, Timer 0 and 1, serial interface
   sleep_enable();
   sleep_cpu(); // Sleep here and wait for the interrupt
   sleep_disable();

        ringFor(100);
        currentState = GAME;
        buttonPressed = false;
      }
      break;
    case GAME:

}

void setup() {
  // Set up the I/O pins
  pinMode(BUZZER_PIN, OUTPUT);
  pinMode(MOTOR_PIN, OUTPUT);
  pinMode(BUTTON_PIN, INPUT);
  pinMode(ACCELEROMETER_IN, INPUT);
  pinMode(ACCELEROMETER_POWER, OUTPUT);
  // Log down the value of ADCSRA in order to restore it when necessary
  enabledADCSRA = ADCSRA;
  setupChangeInterrupt();
}

