Un menu muy basico podria ser una variable que incrementa su valor cada vez que pulsas el boton.Con un condicional se verifica que su valor este entre 1 y 3 para los tres valores que tienes,para mas adelante evaluar este valor en un switch case (o como posicion de un array con valores de 0 a 2) y actuar en consecuencia.Empieza por eso:
#define boton 2 // Entrada de boton por ejemplo en pin 2
byte menu;
void setup() {
Serial.begin(9600);
pinMode(boton, INPUT_PULLUP); // Para usar resistencias pullup internas
}
void loop(){
if (digitalRead(boton) == LOW) {
delay(100); // Para evitar rebotes
menu ++;
if(menu == 4){
menu = 1;
}
Serial.println(menu);
}
}
Si usas pulldown ,como en el sketch que pongo,el boton tienes que conectarlo a gnd.