Menu con teclado

Espero puedan ayudarme... Soy nuevo en el mundo de arduino y estoy trabajando con un teclado matricial 4*4 el cual me muestra los datos sin problema en el monitor serial, el problema es el siguiente:
Necesito mostrar la frase "Temperatura deseada:", ahí me debe mostrar las teclas que presiono, luego quiero que si yo presiono la tecla #(gato) borre los caracteres y si presiono la tecla *(asterisco) pase a la siguiente opción que diga "Humedad deseada:" y me haga las mismas funciones para pasar a la opción "Tiempo deseado:" mas o menos así

"Temperatura deseada:"
45
(presiono gato borra datos)
(presiono asterisco)
"Humedad deseada:"
(presiono gato borra datos)
(presiono asterisco)
"Tiempo deseado"
(presiono gato borra datos)
(presiono asterisco comienza un temporizador)
De verdad espero puedan ayudarme

UrielM:
Espero puedan ayudarme... Soy nuevo en el mundo de arduino y estoy trabajando con un teclado matricial 4*4 el cual me muestra los datos sin problema en el monitor serial, el problema es el siguiente:
Necesito mostrar la frase "Temperatura deseada:", ahí me debe mostrar las teclas que presiono, luego quiero que si yo presiono la tecla #(gato) borre los caracteres y si presiono la tecla *(asterisco) pase a la siguiente opción que diga "Humedad deseada:" y me haga las mismas funciones para pasar a la opción "Tiempo deseado:" mas o menos así

"Temperatura deseada:"
45
(presiono gato borra datos)
(presiono asterisco)
"Humedad deseada:"
(presiono gato borra datos)
(presiono asterisco)
"Tiempo deseado"
(presiono gato borra datos)
(presiono asterisco comienza un temporizador)
De verdad espero puedan ayudarme

Agrego el código modificado del ejemplo para la lectura del teclado matricial

#include <Keypad.h> //incluir libreria teclado

const byte FILAS = 4; //4 FILAS
const byte COLUMNAS = 4; //4 COLUMNAS
//DEFINIR SIMBOLOS DE TECLADO
char keys[FILAS][COLUMNAS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte filPins[FILAS] = {2, 3, 4, 5}; //PINES PARA FILAS
byte colPins[COLUMNAS] = {8, 9, 10, 12}; //PINES PARA COLUMNAS

Keypad teclado = Keypad( makeKeymap(keys), filPins, colPins, FILAS, COLUMNAS); //DETECTAR SIMBOLO INGRESADO

void setup(){
Serial.begin(9600);

}
void loop(){
char key = teclado.getKey();
Serial.println("Temperatura: ");
Serial.println(key);
delay(2000);
}

Te envié un privado con instrucciónes para que edites tu post por dos razones:

  1. No se para que repites lo que tu mismo has escrito. Acaso el que lee el primer post debe hacerlo de nuevo? Es como tartamudear en un foro. Por favor, no hace falta.

  2. El código que posteaste debe ir con etiquetas, asi que lee las instrucciones (normas del foro) que te pasé por privado ya que pasaste por alto el 1er hilo que cada sección (Normas del foro) tiene para que loleas y luego te manejes adecuadamente.

Respondo tu consulta: (lo que no signfica que no edites lo que acabo de pedirte)

La llibrería Keypad tiene ejemplos, los probaste? Digo porque ponerse a trabajar con una librería sin entenderla antes, genera justamente que a la primer duda vengas a consultarnos.
Los ejemplos de las librerías aclaran la gran mayoría de las dudas, pero todos por comodidad o desconocimiento los pasan por alto.

Otra opción es que pongas en Google: Arduino keypad y veas los tutoriales. Lo que estas consultando esta ampliamente respondido y explicado en muchos tutoriales a lo largo y ancho de Internet.

Por que estos comentarios? Porque te faltan instrucciones propias del ejemplo Keypad.

Esta es una de mis primeras opciones cuando busqué lo que te dije en Google
Arduino with keypad Tutorial

#include "Keypad.h"
const byte ROWS = 4; // four rows
const byte COLS = 3; // three columns
char keys[ROWS][COLS] =
{
{'1','2','3' },
{'4','5','6' },
{'7','8','9' },
{'*','0','#' }
};
byte rowPins[ROWS] = {5, 6, 7, 8};
byte colPins[COLS] = {2, 3, 4};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
char KEY[4] = {'1','2','3','4'}; // default secret key
char attempt[4] = {0,0,0,0};
int z=0;
void setup()
{
   Serial.begin(9600);
}
void correctKEY() // do this if the correct KEY is entered
{
   Serial.println(" KEY ACCEPTED...");
}
void incorrectKEY() // do this if an incorrect KEY is entered
{
   Serial.println("KEY REJECTED!");
}
void checkKEY()
{
   int correct=0;
   int i;
   for ( i = 0; i < 4 ; i++ )
   {
      if (attempt[i]==KEY[i])
      {
         correct++;
      }
   }
   if (correct==4)
   {
      correctKEY();
   }
   else
   {
      incorrectKEY();
   }
   for (int zz=0; zz<4; zz++) // clear previous key input
   {
      attempt[zz]=0;
   }
}
void readKeypad()
{
   char key = keypad.getKey();
   if (key != NO_KEY)
   {
      switch(key)
      {
      case '*':
         z=0;
         break;
      case '#':
         delay(100); // added debounce
        checkKEY();
         break;
      default:
         attempt[z]=key;
         z++;
      }
   }
}
void loop()
{
   readKeypad();
}

Tienes que hacer algunos cambios, para corresponderlo a como esta tu teclado pero luego servirá.