Me respondo a mi mismo sobre el porqué tengo que apretar casi 1 segundo el botón para cambiar de opción en el menú.
Había puesto la sentencia
" menus(); " dentro de otra que hacía esperar ese tiempo.
void loop() {
unsigned long currentMillis = millis();
button.tick();
if (currentMillis > 2000) { // Pasado el primer minuto de arranque del programa
if (currentMillis % 500 < 3) { // Cada 20 segundos
MideTemperatura(); // Mide la temperatura Ambiente
Termostato(); // Consulta el termostato
MideHumedad(); // Mide la Humedad Relativa
// menus(); // yo lo tenía aqui
}
}
menus(); // pero es aquí para saltar la orden
}