Ola a todos.
eu uso para mostrar estatísticas no jogo assetto corsa e no race07, mas cada um possui seu código distinto, então cada vez que vou jogar um ou outro eu faço o upload em cima do código atual.
daí vem a dúvida Qual a quantidade máxima de upload eu posso fazer em meu Arduíno uno?
aproveitando, como posso resolver esse problema com um programa generico?, ah a possibilidade de fazer um if para entrar em um void setup() e um void loop() e vice versa? daí posso mesclar os dois códigos e selecionar eles por um botão.
Tu já colocaste a resposta à tua pergunta... Que mais queres que façamos? Que escrevemos o código para ti?
Colocas um botão de duas vias, testas se um dos botóes está activoe se o outro não está e corres o código correspondente.
Não podes ter mais do que uma função loop e setup, mas podes definir as actuais com outro nome e dentro do setup escolheres qual função loop será corrida.
#define PINO_COD1 2
#define PINO_COD2 3
unsigned char codigo = 0;
void setup(){
pinMode(PINO_COD1, INPUT_PULLUP);
pinMode(PINO_COD2, INPUT_PULLUP);
unsigned char pino1 = digitalRead(PINO_COD1);
unsigned char pino2 = digitalRead(PINO_COD2);
if (pino1 == 0 && pino2 == 1) { //corre codigo1
codigo =1;
//codigo de setup.
} else {
if ((pino1 == 1 && pino2 == 0) { // corre codigo 2
codigo = 2;
// codigo de setup.
}
}
void loop(){
if (codigo == 1 ) {
loop1();
}
if (codigo == 2 ) {
loop2();
}
//se não houver selecção ao fazer reset do Arduino, o código fica aqui preso sem fazer nada.
}
void loop1(){} //colocar codigo da funcao 1 aqui.
void loop2(){} //colocar codigo do funcao 2 aqui.
Eu sugiro meteres um daqueles switches de 3 posições. Uma em que nada está escolhido e duas para escolher os código que queres. Mas pode ser feito apenas com um switch de uma posição... seja como for, o código é facilmente adaptável.