#include <IRremote.h>
#include <LiquidCrystal.h>
#define PIN_RECEIVER 2
IRrecv receiver(PIN_RECEIVER);
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
int A = 0;
int B = 0;
int Total;
void setup()
{
Serial.begin(115200);
lcd.begin(16, 2);
lcd.print("B41-RIFKY ALIF ");
lcd.setCursor(0, 1); // Move cursor to the start of the second line
lcd.print("Ridho aditianto"); // Display the second name on the LCD
receiver.enableIRIn(); // Start the receiver
}
void loop()
{
if (receiver.decode())
{
translateIR();
receiver.resume();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("A:");
lcd.println(A);
lcd.setCursor(6, 0);
lcd.print("+");
lcd.setCursor(9, 0);
lcd.print("B:");
lcd.println(B);
lcd.setCursor(0, 1);
lcd.print("Total:");
lcd.println(Total);
}
}
void translateIR()
{
// Takes command based on IR code received
switch (receiver.decodedIRData.command)
{
case 104: // Angka 0
if (A == 0)
{
lcd.clear();
A = 0;
lcd.print("0");
}
else
{
lcd.clear();
B = 0;
lcd.print("0");
}
break;
case 48: // Angka 1
if (A == 0)
{
lcd.clear();
A = 1;
lcd.print("1");
}
else
{
lcd.clear();
B = 1;
lcd.print("1");
}
break;
case 24: // Angka 2
if (A == 0)
{
lcd.clear();
A = 2;
lcd.print("2");
}
else
{
lcd.clear();
B = 2;
lcd.print("2");
}
break;
case 122: // Angka 3
if (A == 0)
{
lcd.clear();
A = 3;
lcd.print("3");
}
else
{
lcd.clear();
B = 3;
lcd.print("3");
}
break;
case 16: // Angka 4
if (A == 0)
{
lcd.clear();
A = 4;
lcd.print("4");
}
else
{
lcd.clear();
B = 4;
lcd.print("4");
}
break;
case 56: // Angka 5
if (A == 0)
{
lcd.clear();
A = 5;
lcd.print("5");
}
else
{
lcd.clear();
B = 5;
lcd.print("5");
}
break;
case 90: // Angka 6
if (A == 0)
{
lcd.clear();
A = 6;
lcd.print("6");
}
else
{
lcd.clear();
B = 6;
lcd.print("6");
}
break;
case 66: // Angka 7
if (A == 0)
{
lcd.clear();
A = 7;
lcd.print("7");
}
else
{
lcd.clear();
B = 7;
lcd.print("7");
}
break;
case 74: // Angka 8
if (A == 0)
{
lcd.clear();
A = 8;
lcd.print("8");
}
else
{
lcd.clear();
B = 8;
lcd.print("8");
}
break;
case 82: // Angka 9
if (A == 0)
{
lcd.clear();
A = 9;
lcd.print("9");
}
else
{
lcd.clear();
B = 9;
lcd.print("9");
}
break;
case 168: // Tombol =
Total = A + B;
break;
case 176: // Tombol C
A = 0;
B = 0;
Total = 0;
break;
case 152: // Tombol -
Total = A - B;
break;
}
}