#include <Keypad.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(25,27,29,31,33,35); //Conexion de pines RS, E, D4, D5, D6, D7
const byte FILAS = 4;
const byte COLUMNAS = 4;
char tecladito[FILAS][COLUMNAS] = {
{ '1', '2', '3', 'A' },
{ '4', '5', '6', 'B' },
{ '7', '8', '9', 'C' },
{ '*', '0', '#', 'D' }
};
byte pinesFil[FILAS] = { 9, 8, 7, 6 };
byte pinesCol[COLUMNAS] = {5, 4, 3, 2};
int estado = 0;
Keypad teclado = Keypad(makeKeymap(tecladito), pinesFil, pinesCol, FILAS, COLUMNAS);
void setup() {
pinMode(41, OUTPUT);
pinMode(43, OUTPUT);
pinMode(45, OUTPUT);
lcd.begin(16,2);
lcd.print("Panel de Control");
lcd.setCursor(0,1);
lcd.print("Esperando ...");
}
void loop() {
char tecla = teclado.getKey();
delay(100);
lcd.setCursor(0,1);
if(tecla){
switch(tecla) {
case '1':
lcd.print("Modo 1 Select");
estado = 1;
break;
case '2':
lcd.print("Modo 2 Select");
estado = 2;
break;
case '3':
lcd.print("Modo 3 Select");
estado = 3;
break;
case 'A':
switch(estado){
case 1:
lcd.print("Modo 1 Activo");
digitalWrite(41, HIGH);
digitalWrite(43, LOW);
digitalWrite(45,LOW);
break;
case 2:
lcd.print("Modo 2 Activo");
digitalWrite(41, LOW);
digitalWrite(43, HIGH);
digitalWrite(45,LOW);
break;
case 3:
lcd.print("Modo 3 Activo");
digitalWrite(41, LOW);
digitalWrite(43, LOW);
digitalWrite(45, HIGH);
break;
}
break;
default:
lcd.print("Incorrecto ");
estado = 0;
break;
}
}
}