Que erro dá?
void trataLCD() {
static unsigned char menu = 0; //isto faz com que o menu correcto seja mostrado sempre que a função é chamada.
unsigned int button = read_LCD_buttons();
//máquina de estados.
switch(menu) {
case HOME: {
if (button == butUP) {
menu = MENU_1;
}
if (button == butDOWN) {
menu = MENU_4;
}
lcd.clear();
lcd.print("hora...");
lcd.setCursor(0,1);
lcd.print("data...");
button = butNONE;
break;
};
case MENU_1: {
if (button == butUP) {
menu++;
}
if (button == butDOWN) {
menu--;
}
lcd.clear();
lcd.print("temp aquario");
button = butNONE;
break;
};
case MENU_2: {
if (button == butUP) {
menu++;
}
if (button == butDOWN) {
menu--;
}
lcd.clear();
lcd.print("temp exterior");
button = butNONE;
break;
};
case MENU_3: {
if (button == butUP) {
menu++;
}
if (button == butDOWN) {
menu--;
}
lcd.clear();
lcd.print("distancia");
button = butNONE;
break;
};
case MENU_4: {
if (button == butUP) {
menu = HOME;
}
if (button == butDOWN) {
menu--;
}
lcd.clear();
lcd.print("temperatura...");
button = butNONE;
break;
}
}