#include <LiquidCrystal.h>
#include <Keypad.h>
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
const byte KEYPAD_ROWS = 4;
const byte KEYPAD_COLS = 4;
byte rowPins[KEYPAD_ROWS] = {6, 5, 4, 3};
byte colPins[KEYPAD_COLS] = {A0, A1, A2, A3};
// Definir los símbolos de las teclas de tu teclado matricial
char keys[KEYPAD_ROWS][KEYPAD_COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
// Crear un objeto Keypad
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, KEYPAD_ROWS, KEYPAD_COLS);
void setup() {
Serial.begin(9600); // Inicializar la comunicación serial
lcd.init(); // Inicializar el LCD
lcd.backlight(); // Encender la luz de fondo del LCD
lcd.setCursor(0, 0);
lcd.print("SELECCIONA UN"); // Mensaje inicial en el LCD
lcd.setCursor(0, 1);
lcd.print("PRODUCTO");
}
void loop() {
char tecla = keypad.getKey();
if (tecla) { // Si una tecla fue presionada
Serial.println(tecla); // Imprimir la tecla en el Monitor Serial
// Limpiar la pantalla LCD
lcd.clear();
// Mostrar una frase específica según la tecla presionada
switch (tecla) {
case '1':
lcd.setCursor(0, 0);
lcd.print("Has seleccionado");
lcd.setCursor(0, 1);
lcd.print("el producto 1");
break;
case '2':
lcd.setCursor(0, 0);
lcd.print("Has seleccionado");
lcd.setCursor(0, 1);
lcd.print("el producto 2");
break;
case '3':
lcd.setCursor(0, 0);
lcd.print("Has seleccionado");
lcd.setCursor(0, 1);
lcd.print("el producto 3");
break;
case 'A':
lcd.setCursor(0, 0);
lcd.print("Has seleccionado");
lcd.setCursor(0, 1);
lcd.print("el producto A");
break;
case '4':
lcd.setCursor(0, 0);
lcd.print("Has seleccionado");
lcd.setCursor(0, 1);
lcd.print("el producto 4");
break;
case '5':
lcd.setCursor(0, 0);
lcd.print("Has seleccionado");
lcd.setCursor(0, 1);
lcd.print("el producto 5");
break;
case '6':
lcd.setCursor(0, 0);
lcd.print("Has seleccionado");
lcd.setCursor(0, 1);
lcd.print("el producto 6");
break;
case 'B':
lcd.setCursor(0, 0);
lcd.print("Has seleccionado");
lcd.setCursor(0, 1);
lcd.print("el producto B");
break;
case '7':
lcd.setCursor(0, 0);
lcd.print("Has seleccionado");
lcd.setCursor(0, 1);
lcd.print("el producto 7");
break;
case '8':
lcd.setCursor(0, 0);
lcd.print("Has seleccionado");
lcd.setCursor(0, 1);
lcd.print("el producto 8");
break;
case '9':
lcd.setCursor(0, 0);
lcd.print("Has seleccionado");
lcd.setCursor(0, 1);
lcd.print("el producto 9");
break;
case 'C':
lcd.setCursor(0, 0);
lcd.print("Has seleccionado");
lcd.setCursor(0, 1);
lcd.print("el producto C");
break;
break;
case '0':
lcd.setCursor(0, 0);
lcd.print("Has seleccionado");
lcd.setCursor(0, 1);
lcd.print("el producto 0");
break;
case '*':
lcd.setCursor(0, 0);
lcd.print("Has seleccionado");
lcd.setCursor(0, 1);
lcd.print("el producto *");
break;
case '#':
lcd.setCursor(0, 0);
lcd.print("PRECIONA 2 VECES");
lcd.setCursor(0, 1);
lcd.print("PARA BORRAR");
delay(2000); // Espera 2 segundos antes de borrar la pantalla
lcd.clear();
delay(1000);
lcd.setCursor(0, 0);
lcd.print("SELECCIONA UN");
lcd.setCursor(0, 1);
lcd.print("PRODUCTO");
break;
case 'D':
lcd.setCursor(0, 0);
lcd.print("Has seleccionado");
lcd.setCursor(0, 1);
lcd.print("el producto D");
break;
defaul:
lcd.setCursor(0, 0);
lcd.print("cualquier cosa");
lcd.setCursor(0, 1);
lcd.print("PRODUCTO");
}
tecla = 0;
}
}
}
else{
lcd.setCursor(0, 0);
lcd.print("op escogida A ");
digitalWrite(3, HIGH);;
}
}