#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Keypad.h>
const byte ROWS = 4; //FOUR ROWS
const byte COLS = 4;//four cols
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] ={9,8,7,6};//CONNECT TO THE ROW PINOUTS OF THE KEYPAD
byte colPins[COLS] ={5,4,3,2};//CONNECT TO THE COLS PINOUTS OF THE KEYPAD
//create an object of keypad
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS , COLS);
LiquidCrystal_I2C lcd(0x27,16,2);
long Num1,Num2,Number;
char key,action;
boolean result = false;
void setup() {
// put your setup code here, to run once:
lcd.init();
lcd.backlight();
lcd.print("Calculator");
lcd.setCursor(0,1;)
delay(1000);
Number=Num1+Num2=0;
result=false;
lcd.clear();
}
void loop() {
// put your main code here, to run repeatedly:
lcd.setCursor(0,0);
key = kpd.getKey();
if (key!=NO_KEY)
if (key=='*')
{
lcd.print("Button Cancel");
delay(1000);
Number=Num1=Num2=0;
reault=false;
lcd.clear();
}
else if(key=='1'){
lcd.println("button 1");
delay(800);
lcd.clear();
if(Number==0)
Number=1;
else
Number = (Number*10) + 1;
}
else if(key=='4'){
lcd.println("button 4");
delay(800);
lcd.clear();
if (Number==0);
Number =4;
else
Number = (Number*10)+4;
}
else if (key=='7')
{
lcd.println("button 7");
delay(800);
lcd.clear();
if (Number ==0)
Number = 7;
else
Number = (Number*10)+7;
}
else if (key=='7')
{
lcd.println("button 0");
delay(800);
lcd.clear();
if (Number ==0)
Number = 0;
else
Number = (Number*10)+0;
}
}
}