Ejecutar loop() cuando se presiona una tecla y pararlo cuando se presione otra

Hola que tal, apenas voy comenzando a usar arduino, este es de mis primeros programas que basicamente son encender varios leds cada cierto tiempo y no se como puedo hacer esto, tengo un teclado USB y necesito que el codigo del loop() se ejecute cuando presione una tecla, digamos 'a' y se pare cuando presiones otra tecla, digamos 's'.

//declarando PINES
const int pin2 = 2;
const int pin3 = 3;
const int pin4 = 4;

//tiempo
const int tiempo=2000;

void setup() {

  //Declara los pines como salidas
  pinMode(pin2, OUTPUT);
  pinMode(pin3, OUTPUT);
  pinMode(pin4, OUTPUT);
  
}

void loop() {

  //*****PIN 2*****
  pinProcedure(pin2, tiempo);

  //*****PIN 3*****
  pinProcedure(pin3, tiempo);

  //*****PIN 4*****
  pinProcedure(pin4, tiempo);

  
 
}

void pinProcedure (int pin, int tiempo){

  digitalWrite(pin, HIGH); //enciende el PIN
  delay(tiempo); //espera 2 segundos
  digitalWrite(pin, LOW); //apaga el PIN
  delay(tiempo); //espera 2 segundos
  
}

Ese es mi codigo.

Habrá una funcion en arduino que me ayude a hacer esto?

saludos

Hola, pues has las funciones que quieres que se ejecuten y para llamarlas usar un switch-case