Criar um sistema de segurança com módulo laser

Olá a todos, Gostaria da ajuda de vocês para criação deste projeto. Estou criando um projeto para detectar intrusos utilizando um módulo laser que é feito a leitura através de um LDR. Meu objetivo é através do monitor serial poder ativar ou desativar ele mandando alguma letra, no caso "a" para ativar e "b" para desativar. Usei essa lógica, porém não obtive sucesso pois o if só ler apenas uma única vez o comando e volta para o início do loop principal que fica aguardando a letra novamente. Gostaria de que quando eu digitasse "a" ficasse infinitamente lá até quando eu digitar um valor "b" por exemplo, no qual esse valor iria desativar o sistema.

Eis o código:

#define pinoSensorLuz A0
#define laser 2
#define pinoBuzzer 6
#define pinVermelho 3
#define pinVerde 4
int valorLaser;
String comando = "";

void setup() {
  Serial.begin(9600);
  pinMode(laser, OUTPUT);
  pinMode(pinoBuzzer, OUTPUT);
  pinMode(pinVermelho, OUTPUT);
  pinMode(pinVerde, OUTPUT);
  digitalWrite(laser, HIGH);
}

void loop() {

  if  (Serial.available() > 0)  {
    comando = Serial.readString();
    if (comando == "a") {
      digitalWrite(laser, HIGH);
      ativar();
    } else if (comando == "b") {
      digitalWrite(laser, LOW);
      digitalWrite(pinVerde, LOW);
      digitalWrite(pinoBuzzer, LOW);
      digitalWrite(pinVermelho, HIGH);
    }
    comando = "";
  }

}

void ativar() {
  digitalWrite(laser, HIGH);
  int valorLaser = analogRead(pinoSensorLuz);
  if (valorLaser < 800) {
    digitalWrite(pinoBuzzer, HIGH);
    emAlerta();
  } else {
    digitalWrite(pinoBuzzer, LOW);
    digitalWrite(pinVerde, HIGH);
  }
}

void desativar() {
  digitalWrite(pinoBuzzer, LOW);
  digitalWrite(laser, LOW);
  digitalWrite(pinVermelho, HIGH);
  digitalWrite(pinVerde, LOW);
}

void emAlerta() {
  digitalWrite(pinVerde, HIGH);
  delay(100);
  digitalWrite(pinVerde, LOW);
  delay(100);
  digitalWrite(pinVermelho, HIGH);
  delay(100);
  digitalWrite(pinVermelho, LOW);
  delay(100);
}

Boa noite,

Tenta um WHILE, vai ficar no loop While até que vc alterar.