Decodificador BCD a Decimal (Especial)

noter:
¿Probaste el código que te propuse? Creo que como base debería servir a tus propósitos. Le faltarían dos condicionales para lo que acabas de decir.

void loop()

{
      // leemos entradas
      int miValor = leevalor();

// aquí irían los if para las transformaciones especiales de miValor
      if (warc && (miValor==6||miValor==8)) {
            miValor=4;
      }
      if (band && (miValor==7||miValor==9)) {
            miValor=5;
      }
     
      // Encendemos el pin correspondiente al valor
      sacaValor(miValor);
}

Hola Noter! Estoy probandolo justo en este momento, y el comentario es que la placa hace NADA :frowning: