#include <LiquidCrystal_I2C.h>
//Joystick
#define Y A3
#define X A1
#define SEL 7
int i=6;
int j=0;
int a = 0;
int s = 0;
//lcd
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
String palo = "*";
void setup() {
// Init
lcd.init();
lcd.backlight();
//Joystick
pinMode(Y,INPUT);
pinMode(X,INPUT);
pinMode(SEL, INPUT_PULLUP);
// Print something
}
void loop()
{
lcd.setCursor(a,s);
lcd.print(".");
int y = analogRead(Y);
int x = analogRead(X);
bool press = digitalRead(SEL)==LOW;
lcd.setCursor(i,j);
if(x<500){
lcd.setCursor(i,j);
i++;
lcd.print(palo);
};
if(x==1023){
lcd.setCursor(i,j);
i--;
lcd.print(palo);
};
//Valores Y [poner límite de 0,1]
if(y<500){
lcd.setCursor(i,j);
j--;
lcd.print(palo);
};
if(y==1023){
lcd.setCursor(i,j);
j++;
lcd.print(palo);
};
lcd.print(palo);
delay(10);
lcd.clear();
if(press){
i=6;
j=0;
lcd.clear();
};
if(j>1){
j=0;
};
if(j<0){
j=1;
};
if(i>16){
i=0;
};
if(i<0){
i=16;
};
if(i==a && j==s){
lcd.clear();
lcd.setCursor(5,0);
lcd.print("EU CORY");
lcd.setCursor(4,1);
lcd.print("TE ADORO <3");
delay(3000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Estoy muy feliz");
lcd.setCursor(0,1);
lcd.print("con y por vos");
delay(3000);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Te amo");
delay(3000);
lcd.clear();
lcd.setCursor(5,0);
lcd.print("<3");
delay(3000);
i=6;
j=0;
};
}