#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 16
#define LCD_LINES 2
#define VERT_PIN A0
#define HORZ_PIN A1
#define SEL_PIN 2
int counter = 0;
int vert, oldVert;
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
void setup() {
lcd.init();
lcd.backlight();
lcd.begin(16, 2);
pinMode(VERT_PIN, INPUT);
pinMode(HORZ_PIN, INPUT);
pinMode(SEL_PIN, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
vert = analogRead(VERT_PIN);
if (vert == 1023 && oldVert < 600)
{
counter++;
}
if (vert == 0 && oldVert > 400)
{
counter--;
}
oldVert = vert;
bool selPressed = digitalRead(SEL_PIN) == LOW;
if(counter == 3)
{
MainMenu1();
}
if(counter == 2)
{
MainMenu2();
}
if(counter == 1)
{
MainMenu3();
}
}
void MainMenu1()
{
lcd.setCursor(0, 0);
lcd.print("Sub-menu 1");
lcd.setCursor(0, 1);
lcd.print("Sub-menu 2");
}
void MainMenu2()
{
lcd.setCursor(0, 0);
lcd.print("Sub-menu 2");
lcd.setCursor(0, 1);
lcd.print("Sub-menu 3");
}
void MainMenu3()
{
lcd.setCursor(0, 0);
lcd.print("Sub-menu 3");
lcd.setCursor(0, 1);
lcd.print("Sub-menu 4");
}