#include <LiquidCrystal_I2C_Hangul.h>
#include <Wire.h>
int VRx = A0;
int VRy = A1;
int SW = 2;
int xPosition = 0;
int yPosition = 0;
int SW_state = 0;
int mapX = 0;
int mapY = 0;
LiquidCrystal_I2C_Hangul lcd(0x27, 16, 2);
void setup() {
pinMode(VRx, INPUT);
pinMode(VRy, INPUT);
pinMode(SW, INPUT_PULLUP);
Serial.begin(9600);
lcd.init();
lcd.backlight();
}
void loop() {
xPosition = analogRead(VRx);
yPosition = analogRead(VRy);
SW_state = digitalRead(SW);
mapX = map(xPosition, 0, 1023, -512, 512);
mapY = map(yPosition, 0, 1023, -512, 512);
if(mapY == 512 && mapX == 512) {
lcd.setCursor(0,0);
lcd.print("STATUS:NORTHEAST");
delay(500);
}
else if(mapY == -512 && mapX == 512) {
lcd.setCursor(0,0);
lcd.print("STATUS:SOUTHEAST");
delay(500);
}
else if(mapY == -512 && mapX == -512) {
lcd.setCursor(0,0);
lcd.print("STATUS:SOUTHWEST");
delay(500);
}
else if(mapY == 512 && mapX == -512) {
lcd.setCursor(0,0);
lcd.print("STATUS:NORTHWEST");
delay(500);
}
else if(mapY == 512) {
lcd.setCursor(0,0);
lcd.print("STATUS:NORTH");
delay(500);
}
else if(mapX == 512) {
lcd.setCursor(0,0);
lcd.print("STATUS:EAST");
delay(500);
}
else if(mapY == -512) {
lcd.setCursor(0,0);
lcd.print("STATUS:SOUTH");
delay(500);
}
else if(mapX == -512) {
lcd.setCursor(0,0);
lcd.print("STATUS:WEST");
delay(500);
}
while(SW_state == 0) {
lcd.setCursor(0,1);
lcd.print("BUTTON:PRESSED ");
delay(500);
break;
}
lcd.setCursor(0,0);
lcd.print("STATUS: ");
lcd.setCursor(0,1);
lcd.print("BUTTON:UNPRESSED");
}