#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
#define VERT_PIN A0
#define HORZ_PIN A1
#define SEL_PIN 2
#define LED_PIN 6
#define LED_GREEN 5
#define LED_YELLOW 4
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
void setup() {
pinMode(VERT_PIN, INPUT);
pinMode(HORZ_PIN, INPUT);
pinMode(SEL_PIN, INPUT_PULLUP);
pinMode(LED_PIN, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_YELLOW, OUTPUT);
Serial.begin(9600);
digitalWrite(LED_PIN,LOW);
lcd.init();
lcd.backlight();
}
void loop() {
int vert = analogRead(VERT_PIN);
int horz = analogRead(HORZ_PIN);
bool selPressed = digitalRead(SEL_PIN) == LOW;
// horz goes from 0 (right) to 1023 (left)
// vert goes from 0 (bottom) to 1023 (top)
if (selPressed) {
digitalWrite(LED_PIN, HIGH);
}
else {
digitalWrite(LED_PIN,LOW);
}
if (horz > 600) {
digitalWrite(LED_GREEN,HIGH);
} else {
digitalWrite(LED_GREEN,LOW);
}
if (vert > 600) {
digitalWrite(LED_YELLOW,HIGH);
} else {
digitalWrite(LED_YELLOW,LOW);
}
lcd.setCursor(0, 0);
lcd.print(horz);
lcd.setCursor(0,1);
lcd.print(vert);
delay(500);
lcd.clear();
}