sentencia if con interruptor de bola

Buenas, estoy haciendo un escaperoom para mis hijas, y quiero que desactiven un contador regresivo antes que llegue a 0, y la idea es que se active el contador cuando lo muevan, y despues siga funcionando aunque lo coloquen de cualquier forma. He ejecutado la sentencia con IF para que se active cuando el interruptor bola este en HIGH, pero claro cuando se vuelve a mover se para el contador. No se como hacer que una vez dentro del IF siga ejecutandose ignorando ya el interruptor.

void loop(void) {

pinMode(50,INPUT); //pin al que esta conectado el sensor de inclinacion
digitalWrite(50, HIGH);
digitalWrite(ledPin,HIGH);
int Valpin50 = digitalRead(50);
if(HIGH == Valpin50)
{
//Leemos donde se ha pulsado en la pantalla
digitalWrite(13, HIGH);
TSPoint p = ts.getPoint();
digitalWrite(13, LOW);
pinMode(XM, OUTPUT);
pinMode(YP, OUTPUT);
X = map(p.y, TS_MINY, TS_MAXY, tft.width(), 0);
Y = map(p.x, TS_MINX, TS_MAXX, tft.height(), 0);

Por favor lee las normas del foro y edita tu mensaje para meter todo el código entre las etiquetas code.

Todo código Arduino debe contener mínimo 2 secciones:

void setup(){
   ...
}
void loop(){
   ...
}

Perdon, no lei las normas....
solicito ayuda para saber como entrar en un IF mediante la posicion de un sensor de inclinacion, y una vez dentro se deshabilite el sensor y ya funcione el codigo siempre.. y no sea necesario que este en esa posicion.

void setup (void) 
{
  Serial.begin(9600);
  servo1.attach(27);
  pinMode(ledPin, OUTPUT);
  pinMode(ledPinUranio, OUTPUT);
  uint16_t identifier = tft.readID();
  identifier=0x9341;
  tft.begin(identifier);
  tft.setRotation(1);
  welcomeScreen();
  defaultScreen(); //mostramos pantalla por defecto
  
  
void loop(void) 
{ 
  
  pinMode(50,INPUT); //pin al que esta conectado el sensor de inclinacion
  digitalWrite(50, HIGH);
  digitalWrite(ledPin,HIGH);
  int digitalVal = digitalRead(50); //defino variable para el sensor que me dice si esta en una posicion u otra
  if(HIGH == digitalVal) // si esta en HIGH entro en el if
  {        
  
  // una vez dentro del IF quiero que este se ejecute siempre y desactive el sensor de inclinacion
  digitalWrite(13, HIGH);
  TSPoint p = ts.getPoint();
  digitalWrite(13, LOW);
  pinMode(XM, OUTPUT);
  pinMode(YP, OUTPUT);
  X = map(p.y, TS_MINY, TS_MAXY, tft.width(), 0);
  Y = map(p.x, TS_MINX, TS_MAXX, tft.height(), 0);
  
  
  
}
}

yo probaria un bucle while dentro del if, con la condicion de que no salga hasta que finalice la cuenta atras o la desactiven.

Muchiisimas gracias jafox007,,
voy a probar ahora mismo...

Perfecto... muchas gracias..

ya lo he conseguido con DO WHILE...

muchisimas gracias por la ayuda jafox 007

Llego tarde pero te digo que también podías haber incluido una simple variable booleana que se ponga a TRUE si alguna vez se ha tocado el interruptor y sólo esté en FALSE en el setup. Luego un IF sobre esta variable sería suficiente para saber si han tocado el interruptor aunque luego este cambiase de posición.