Switch Case

Hi I been using the switch case option for debugin some state of my proyect but for some reason when I use the default option dosen’t enter ethier can I get help

Hola he estado usando el switch case para depurar los estados de cierto sensor para mi proyecto pero por alguna razón cuando uso la forma default ni siquiera entra, no se si es porque es una funcion o un metodo aparte pero igual no se me ocurre nada ayuda…

const int RAD = 4;
const int BTN = 11;
int val = 0; 
int state = 0;
int old_val = 0;

const int ACC = 5;

const int ING = 6;
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
void setup() { // definir si la variable es de entrada // o salida.
  Serial.begin(9600);
  pinMode(BTN, INPUT);
  pinMode(RAD, OUTPUT); // establecer que el pin digital es una señal de salida
  pinMode(ACC, OUTPUT); // y BOTON como señal de entrada
  pinMode(ING, OUTPUT);

}
void loop() {
  char dato = Serial.read();
  switch (dato) {
    case 'D':
      digitalWrite(RAD, HIGH);
      digitalWrite(ACC, HIGH);
      char BN = digitalRead(BOTON);
      if (BN == HIGH) {
        digitalWrite(ING, HIGH);
        delay(10);
        break;
      }
    default:
    RAD_ONOFF();
    break;
  }
}
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
void RAD_ONOFF() {
  val = digitalRead(BTN);
  //Serial.println(val);
  if ((val == HIGH) && (old_val == LOW)) {
    state = 1 - state;
  }
  old_val = val; 
  if (state == 1) {
    digitalWrite(RAD, HIGH);
  }
  else {
    digitalWrite(RAD, LOW); 
  }
}

for some reason when I use the default option dosen’t enter ethier

Any proof of that seems to be missing.

What IS in data? How do you KNOW?

Your first case is missing a break.

TheMemberFormerlyKnownAsAWOL:
Your first case is missing a break.

Or rather it has a break, but it's likely in the wrong place (inside the "if", not outside it).
Therefore, unless the "if" executes (when BN == HIGH), the code falls through into the default.