¿Cómo crear un menú multinivel con una pantalla LCD? Cuando nos encontramos en el proyecto de crear un menú, es posible que encontremos algunas vicisitudes que nos alejarán un poco del cometido. Pero para ello, es necesario tener en cuenta ciertas recomendaciones.

Aunque la creación de un menú dependerá del uso que tenga, esta no es una limitante para que veas ejemplos y así llegar con el menú que deseas lograr. En este artículo, veremos algunas orientaciones y ejemplos que nos servirán al momento de crear un menú con una pantalla LCD. Sin más preámbulo, comencemos.

Define tus variables

Es importante tener en cuenta que una de las primeras cosas que debemos tener en cuenta es sobre definir las variables que se usarán para el proyecto. Desde luego, acá te mostramos un ejemplo: “char Vmenu_AB         = 0;

char Vmenu_A_A1_A2    = 1;

char Vmenu_A_A1_abc   = 2;

char Vmenu_A_A1_c     = 3;

char Vmenu_A_A2_abcd = 4;

char Vmenu_A_A2_b     = 5;”

En cuanto a este ejemplo, podemos determinar el número de variables que queramos usar, pudiendo ser una sugerencia, llegar a 10. Siguiendo este ejemplo, se podrá profundizar un poco más sobre aquellos comendas que se quieran en el menú, dependiendo de los botones y la cantidad de los mismos que se usarán para el acceso.

Determina lo que se mostrará en cada menú

Con este paso, es importante definir para qué usar el menú, y cuáles serán las funciones que veremos en el mismo. Ahora bien, veamos un ejemplo de esto:

const char menu_B_B1_B2_B3_B4_B5[5][16]   = {» Fecha y Hora»,»  Lim Turbiedad»,»};

const char menu_B4_ab[2][15]              = {»  Distribucion»,»  Cisterna»};

const char menu_B5_ab[2][13]              = {»  Activacion»,»  Tiempos»};

Como podrás ver el menú se verá con los comandos de orden y de información. Desde luego que, se verá lo que tú quieras mostrar, como hemos dicho.

Realiza la función de control de menús

Luego, es necesario determinar la función que te ayudará en el manejo y el acceso de los botones y controles del menú. Es decir, aquello que determinará la entrada, la selección y demás. Aquí se podrá determinar los datos, el menú principal, la tecla de enter, el menú de los ajustes, entre otros.

Con esta función se podrá determinar el menú principal, con lo que necesariamente regirá el funcionamiento del menú en cuanto a la interacción y acceso al mismo. Veamos un ejemplo del menú de Ajustes:

  • “if (eleccion == B) //Menu Ajustes”
  • “eleccion = elije_menu(Vmenu_B_B1_B2_B3_B4_B5);”
  • “switch (eleccion)”
  • “case B1: lcd_putc(«\fAjust Fecha»);//Ajustar Fecha y Hora”
  • “break;”
  • “case B5: //Control Ozono”
  • “eleccion = elije_menu(Vmenu_B5_ab);”
  • “if (eleccion == a) lcd_putc(«\fAct Ozono»);//Activar o desactivar Ozonizador”
  • “if (eleccion == b) lcd_putc(«\fAjust Tiempos»);//Ajustar Tiempos de Ozonizado”
  • “break;”

Consideraciones finales

Ten en cuenta que todo menú necesita de un control que te permita ir a la opción seleccionada. Esto es un punto importante, así que no te olvides de crear la función que te lleva a la opción seleccionada en el menú.

En cuanto a la selección, puedes interactuar con un menú de diálogo para determinar una acción y dar consentimiento de la misma, como el caso de la opción de Yes/No.