reloj alarma rtc ds3231

Buenas tardes
Yo he realizado un proyecto de reloj con alarmas, y se guardan en el eeprom del rtc. Ya esta casi terminado el único problema que tengo es que quiero que no suene los sábados y domingos.

Por favor me pueden dar alguna ayuda o indicación, soy nuevo en esto, y he buscado en internet pero no encuentro. Por favor

Esto es lo del rtc.

   DateTime now = RTC.now();          // Obtiene la fecha y hora del RTC   
     lcd.clear();
      int r_diaSemana = dia_de_semana();   // llama a la funcion que calcula el dia de la semana y lo almacena en r_diaSemana
      Serial.print(now.year(), DEC);  // A¤o
      Serial.print('/');
      Serial.print(now.month(), DEC); // Mes
      Serial.print('/');
      Serial.print(now.day(), DEC);   // Dia
      Serial.print(' ');
      Serial.print(now.hour(), DEC);  // Horas
      Serial.print(':');
      Serial.print(now.minute(), DEC); // Minutos
      Serial.print(':');
      Serial.print(now.second(), DEC); // Segundos
      Serial.println();
      //lcd.clear();
      lcd.setCursor(0,0);
      lcd.print("D:");
      lcd.print(now.year(), DEC);
      lcd.print("/");
      lcd.print(now.month(), DEC);
      lcd.print("/");
      lcd.print(now.day(), DEC);
      lcd.print(" ");
      lcd.setCursor(0,1);
      lcd.print("T:");
      lcd.print(now.hour(), DEC);
      lcd.print(":");
      lcd.print(now.minute(), DEC);
      lcd.print(":");
      lcd.print(now.second(), DEC);

y esto estoy haciendo para que me calcule el dia de la semana pues la hora del reloj se puede editar por medio de botones

int dia_de_semana(){
 // Encuentar el dia de la semana de una fecha
 int n_dia;
 int r_dia;
 int n_mes;
 int t_mes;
 int n_anno;
 int d_anno;
 int t_siglo=6;

 DateTime now = RTC.now(); //fecha y hora del RTC
 lcd.setCursor(13,1);

 n_anno=(now.year()-2000);
 d_anno=n_anno/4;
 n_dia=now.day();
 n_mes=now.month();

 switch (n_mes) {
    case 1:
      t_mes=0;
      break;
    case 2:
      t_mes=3;
      break;
    case 3:
      t_mes=3;
      break;
    case 4:
      t_mes=6;
      break;
    case 5:
      t_mes=1;
      break;
    case 6:
      t_mes=4;
      break;
    case 7:
      t_mes=6;
      break;
    case 8:
      t_mes=2;
      break;
    case 9:
      t_mes=5;
      break;
    case 10:
      t_mes=0;
      break;
    case 11:
      t_mes=3;
      break;
    case 12:
      t_mes=5;
      break;
    default: 
      t_mes=t_mes;
    break;
 }
actual = r_dia;
 r_dia=n_dia+t_mes+n_anno+d_anno+t_siglo;
 r_dia = r_dia % 7;

 switch (r_dia) {
    case 1:
       lcd.print("Lun");
        Serial.print(" Lun ");
      break;
      case 2:
       lcd.print("Mar");
       Serial.println(" Mar ");
      break;
      case 3:
       lcd.print("Mie");
       Serial.print(" Mie ");
      break;
      case 4:
       lcd.print("Jue");
       Serial.print(" Jue ");
      break;
      case 5:
       lcd.print("Vie");
       Serial.print(" Vie ");
      break;
      case 6:
       lcd.print("Sab");
       Serial.print(" Sab ");
      break;
      case 0:
       lcd.print("Dom");
       Serial.print(" Dom ");
      break;
      default: 
       lcd.print("---");
       Serial.print(" ---");
      break;
 } 
 return r_dia; 
}

y en esta parte es para que se active el reloj y estoy intentando que no suene los sabados y domingos. pero no pasa nada.

if ((r_diaSemana == 6 || r_diaSemana == 0)){
     
      }
      
 else {
  if (hora==horas_alarma && minuto ==minutos_alarma && segundo==0&& alarmaOn==true){
    digitalWrite(timbre, LOW); 
    lcd.setCursor(0,0);
    Serial.println("Timbre Activo");
    delay(entradaSalida); 
    digitalWrite(timbre, HIGH);
  }

incluso lo puse así. Pero igual se prende

if (hora==horas_alarma && minuto ==minutos_alarma && segundo==0&& alarmaOn==true && r_diaSemana != 6){
    digitalWrite(timbre, LOW); 
    lcd.setCursor(0,0);
    Serial.println("Timbre Activo");
    delay(entradaSalida); 
    digitalWrite(timbre, HIGH);
  }

lo del relé es por que funciona al reves cuando es LOW se prende y cuando es HIGH se apaga.

Y tu código completo es? Porque una vez mas, llegas nos presentas partes de tu código y nosotros debemos entender que ocurre sin ver la totalidad del mismo.
Lo logico es que coloques todo el código y SI, luego explica sobre las rutinas o partes del código que tu crees son responsables.

Ahora edita y adjunta tu código completo que supongo será un archivo grande.

Dia de la semana es una función o dato devuelto por la librería RTC.

Si pones el link podremos guiarte. (usa etiquetas por favor!)