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? :)