#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
//lcd parámetros
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
//lcd
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
//Keypad
const byte columnas = 4;
const byte lineas = 4;
//Declarar pines
byte columnaPin[columnas] = {A0, A1, A2, A3};
byte lineaPin[lineas] = {7,6,5,4};
char keys[lineas][columnas] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
Keypad keypad = Keypad(makeKeymap(keys), lineaPin, columnaPin, lineas, columnas);
//Cursor
int i=0;
int j=0;
void setup() {
// lcd
lcd.init();
lcd.backlight();
lcd.clear();
}
void loop() {
char tecla= keypad.getKey();
lcd.setCursor(i,j);
if(tecla){
lcd.print(tecla);
i++;
if(i>15){
i=0;
j++;
}
}else if(i==0 && j==2){
lcd.clear();
i=0;
j=0;
}
}
//funciones pedorras T_T
/*
void cara(){
lcd.clear();
lcd.setCursor(3,0);
lcd.print("T");
lcd.setCursor(13,0);
lcd.print("T");
lcd.setCursor(7,1);
lcd.print("___");
delay(1000);
parpadeo();
delay(75);
}
void parpadeo(){
lcd.clear();
lcd.setCursor(3,0);
lcd.print("__");
lcd.setCursor(13,0);
lcd.print("__");
lcd.setCursor(7,1);
lcd.print("___");
lcd.clear();
}*/