Avviare programma diverso in base al tasto premuto all'avvio

Buongiorno a tutti,
probabilmente è un argomento già trattato ma ho cercato ovunque e non ho trovato nulla, probabilmente non so bene cosa cercare.

In pratica io vorrei caricare in Arduino uno sketch contenente 2 programmi diversi (non molto articolati) e poi far si che si avvii un programma o l'altro in base a quale tasto (ingresso digitale) tengo premuto all'accensione di Arduino.

E' possibile da fare? Se si come?
A me è venuto in mente di poter mettere un controllo dell'ingresso digitale del pulsante nel void setup e da li richiamare un void loop diverso in base allo stato dell'ingresso oppure usare un ciclo for...
Come potrei fare?

Grazieee!!!

Nel setup() come dici tu controlli l'input.
Metti una variabile con valore 1 oppure 2 a seconda di quale funzione deve fare.
Poi nella loop() un semplice if su quella variabile. eventualmente puoi anche "spezzare" il programma in funzioni void

esempio:

byte QualeFunz=0;
...
void setup()
{ ... decido quale programma, QualeFunz varrà 1 o 2 a seconda
}

void loop()
{ if(QualeProgramma==1)
  { programmaA();
  }
  else
  { programmaB();
  }
}

void programmaA()
{  ...
}
void programmaB()
{  ...
}

Ottimo, grazie mille!
Funziona perfettamente!

Buona giornata!

Se il pin di scelta deve essere controllato solo all'acensione puoi anche chiamare la funzione nel setup e all interno fare un ciclo eterno con while(1) o con for() come lo fa loop()

serve comunque un loop() vuoto.
Ciao Uwe