Estoy escribiendo un nuevo proyecto de Arduino que utiliza una pantalla de cristal LCD de 16x2 con un KeyShield. Me gustaría construir una estructura de menú en la que el usuario pueda navegar usando los botones.
Soy nuevo en Arduino pero tengo 5 años de experiencia en C #. Lo que me gustaría hacer es lo siguiente:
Defina una interfaz llamada Screen y herede cada pantalla, como LanguageScreen , TurnOffAfterScreen , MainScreen , etc. Cada pantalla especializada implementa un método llamado drawScreen que se encargará del contenido de la pantalla. .
Ahora me gustaría tener una clase llamada ScreenController que maneje la navegación entre las pantallas. En esta clase me gustaría almacenar las pantallas en una matriz Screen screens[3] .
Cuando el usuario presiona el botón Select en el KeyShield, el Controlador llamará al método drawScreen de la siguiente pantalla algo como esto:
void showNextScreen()
{
currentScreen++;
screens[currentScreen]->drawScreen();
}
¿Es esto posible hacer en un proyecto Arduino? ¿Estoy esperando demasiado? :)