Arduino-Uno per un Alimentatore variabile 2 Oled e controlli vari

Devi studiare le basi del linguaggio che è fortemente tipizzato.
Hai due variabili con lo stesso nome ma tipi differenti:

// variabile globale di tipo intero senza segno (1 byte)
uint8_t secondario=0 ;

Mentre qui la variabile è locale e cessa di esistere fuori dal blocco
di codice in cui è dichiarata. Il blocco di codice è { tuo codice }.

if (vIn > 14){
      PORTD |= (1<<PD7); //Pin 7(PD7) HIGH rele +led rosso      
    String secondario = "12/24 V";
  }

Come vedi qui dichiari secondario di tipo String, ma come detto
questa volta è in ambito locale. Tutte le variabili locali esistono solo
all'interno del blocco di codice in cui sono dichiarate.

Studia:

  • l'ambito di visibilità delle variabili, globale, locale.
  • I tipi di variabile.

Secondo me basta dichiarare globale: String secondario; e poi:

if (vIn > 14){
      PORTD |= (1<<PD7); //Pin 7(PD7) HIGH rele +led rosso      
      secondario = "12/24 V";

Ciao.