#include <LiquidCrystal_I2C.h>
#include<IRremote.h>
#include <string.h>
#include <stdlib.h>
#include<Wire.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int Cursor = 0;
int Line = 0;
int IRPin = 3;
String a = "";
String b = "";
void setup(){
Serial.begin(9600);
lcd.init();
lcd.backlight();
IrReceiver.begin(IRPin);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
}
void loop(){
if(IrReceiver.decode()){
translateIR();
b=b+a;
lcd.clear();
lcd.print(b);
}
test28();
}
void translateIR(){
switch(IrReceiver.decodedIRData.command){
case 104:
a="0";
break;
case 48:
a="1";
break;
case 24:
a="2";
break;
case 122:
a="3";
break;
case 16:
a="4";
break;
case 56:
a="5";
break;
case 90:
a="6";
break;
case 66:
a="7";
break;
case 74:
a="8";
break;
case 82:
a="9";
break;
case 176:
a="";b="";
break;
case 194:
a="";
b=b.substring(0,b.length()-1);
break;
default:
a="";b="";
lcd.clear();
lcd.setCursor(0,0);
lcd.print("other button!");
lcd.setCursor(0,1);
lcd.print("button code:");
lcd.print(IrReceiver.decodedIRData.command);
delay(1000);
}
IrReceiver.resume();
}
void test28() {
int y = analogRead(A0);
int x = analogRead(A1);
delay(100);
if(x<350 && Cursor<15){
lcd.clear();
lcd.setCursor(Cursor+=1,Line);
lcd.print(b);
}
if(x>650 && Cursor>0){
lcd.clear();
lcd.setCursor(Cursor-=1,Line);
lcd.print(b);
}
if(y<350 && Line==0){
lcd.clear();
lcd.setCursor(Cursor,Line+=1);
lcd.print(b);
}
if(y>650 && Line==1){
lcd.clear();
lcd.setCursor(Cursor,Line-=1);
lcd.print(b);
}
}