#include <IRremote.h>
#include <LiquidCrystal.h>
#define PIN_RECEIVER 2
IRrecv receiver(PIN_RECEIVER);
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
int A;
int B;
int hasil;
int Result;
void setup()
{
Serial.begin(115200);
lcd.begin(16, 2);
receiver.enableIRIn();
}
void loop()
{
lcd.setCursor(0,0);
lcd.print("A: ");
lcd.print(A);
lcd.setCursor(12,0);
lcd.print("B: ");
lcd.print(B);
lcd.setCursor(4,1);
lcd.print("TOTAL: ");
lcd.print(hasil);
if (receiver.decode()) {
long int deCode = receiver.decodedIRData.command;
if(deCode == 2){
hasil = A+B;
A = 0;
B = 0;
}
if(deCode == 152){
hasil = A-B;
A = 0;
B = 0;
}
switch (deCode) {
case 48: //tombol 1
if (A == 0) {
lcd.clear();
A = 1;
lcd.print("1");
} else {
lcd.clear();
B = 1;
lcd.print("1");
} break;
case 24: //tombol 2
if (A == 0) {
A = 2;
lcd.clear();
lcd.print("2");
} else {
B = 2;
lcd.clear();
lcd.print("2");
} break;
case 122: //Tombol 3
if (A == 0) {
A = 3;
lcd.clear();
lcd.print("3");
} else {
B = 3;
lcd.clear();
lcd.print("3");
} break;
case 16: //Tombol 4
if (A == 0) {
A = 4;
lcd.clear();
lcd.print("4");
} else {
B = 4;
lcd.clear();
lcd.print("4");
} break;
case 56: //Tombol 5
if (A == 0) {
A = 5;
lcd.clear();
lcd.print("5");
} else {
B = 5;
lcd.clear();
lcd.print("5");
} break;
case 90: //Tombol 6
if (A == 0) {
A = 6;
lcd.clear();
lcd.print("6");
} else {
B = 6;
lcd.clear();
lcd.print("6");
} break;
case 66: //Tombol 7
if (A == 0) {
A = 7;
lcd.clear();
lcd.print("7");
} else {
B = 7;
lcd.clear();
lcd.print("7");
} break;
case 74: //Tombol 8
if (A == 0) {
A = 8;
lcd.clear();
lcd.print("8");
} else {
B = 8;
lcd.clear();
lcd.print("8");
} break;
case 82: //Tombol 9
if (A == 0) {
A = 9;
lcd.clear();
lcd.print("9");
} else {
B = 9;
lcd.clear();
lcd.print("9");
} break;
case 176:
if (A == 0) {
Result = 0;
A = 0;
B = 0;
hasil = 0;
}
}
receiver.resume();
}
}