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?
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()
{ ...
}
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()