Meu primeiro menu em arduino

Bom dia a todos! Galera sou novo com C e tenho sentindo dificuldades em fazer um menu para o arduino! No meu projeto, vao existir 3 botoes: um pra cima, um pra baixo e outro pra selecionar a opcao! Alguem teria um exemplo de como fazer o menu ou dica de algum livro? Agradeco a ajuda de todos!

Tens uma lib para menus.
http://playground.arduino.cc/Code/Menu
No entanto pode ser um pouco complexa se o teu caso for simples.Outra alternativa é tu proprio criares uma.Calma nao te assustes pois nao é dificil :grin:
Vais usar um LCD?
A maneira de poderes fazer isso é:
Ativas os pull-ips internos nos 3 pinos onde ligas os botoes e configuras esses pinos como entradas.
Depois crias uma funçao que monitoriza todos os botoes à espera que algum deles fique LOW, algo assim

uint8_t botaoUp =1;
uint8_t botaoOK =2;
uint8_t botaoDown =3;
unsigned char posicaoMenu = 0;

void setup(){
Serial.begin(9600);
pinMode(botaoUp, INPUT_PULLUP);
pinMode(botaoOK, INPUT_PULLUP);
pinMode(botaoDown, INPUT_PULLUP);
}

void loop()
{
menu(devolveBotaoPressionado());

}

char devolveBotaoPressionado()
{
if(botaoUp == LOW)return 'U';//BotaoUP pressiionado
if(botaoOK == LOW)return 'O';//Botao OK pressionado
if(botaoDown == LOW)return 'D'; //Botao Down pressionado
if(botaoUp && botaoOK && botaoDown == HIGH)return 'N';//Nada pressionado
}

void menu(char botaoPressionado)
{
switch (botaoPressionado) {
case 'U':
//faz algo com o botao UP
break;
case 'O':
//faz algo com o botao OK
break;
case 'D':
//faz algo com o botao Down
break;
case 'N':
//Foi devolvido o Null salta fora do Menu
break;
}
}

Claro que tens de prever o Debouncing dos botoes.
Nao implementei no codigo para te dar que pesquisar
Nao testei o codigo por isso bugs sao esperados:)
Tenta retirar a idea, reutiliza, modifica, apaga e volta a escrever da tua maneira, assim irás aprender

Valeu, hugo! Vou tentar aqui! Obrigado!

HugoPT:
Claro que tens de prever o Debouncing dos botoes.

E eu pensando que ia ser mais facil! kkkk Vc nao teria um exemplo ou nome de um livro que explicasse isso de uma maneira mais leiga? :grin:

edifrancl:
E eu pensando que ia ser mais facil! kkkk Vc nao teria um exemplo ou nome de um livro que explicasse isso de uma maneira mais leiga? :grin:

Veja um exemplo criado pelo Marcelo Boeira!

http://arduino.cc/forum/index.php/topic,78203.0.html

XD