#include <LiquidCrystal.h>
const int verticalPin = A0; // Vertical axis connected to A0
const int horizontalPin = A1; // Horizontal axis connected to A1
const int selectPin = A2; // Select button connected to A2
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // LCD pins: RS, E, D4, D5, D6, D7
void setup() {
Serial.begin(9600); // Initialize serial communication
lcd.begin(16, 2); // Initialize the LCD with 16 columns and 2 rows
lcd.clear(); // Clear the LCD screen
}
void loop() {
// Read analog values from the joystick
int verticalValue = analogRead(verticalPin);
int horizontalValue = analogRead(horizontalPin);
int selectButtonState = digitalRead(selectPin);
// Print values to the serial monitor
Serial.print("Vertical: ");
Serial.print(verticalValue);
Serial.print("\tHorizontal: ");
Serial.print(horizontalValue);
Serial.print("\tSelect Button: ");
Serial.println(selectButtonState);
// Display values on the LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Vertical: ");
lcd.print(verticalValue);
lcd.setCursor(0, 1);
lcd.print("Horizontal: ");
lcd.print(horizontalValue);
lcd.setCursor(0, 3);
lcd.print("Select: ");
lcd.print(selectButtonState);
delay(100); // Add a small delay for stability
}