#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int button1 = 2;
const int button2 = 3;
const int button3 = 4;
const int button4 = 5;
int menuSelection = 1;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(button1, INPUT_PULLUP);
pinMode(button2, INPUT_PULLUP);
pinMode(button3, INPUT_PULLUP);
pinMode(button4, INPUT_PULLUP);
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(2,1);
lcd.print("Pressure Tester");
delay(2000);
}
void loop() {
if (digitalRead(button1) == LOW) {
menuSelection--;
if (menuSelection < 1) {
menuSelection = 4;
}
updateMenu();
delay(200);
}
if (digitalRead(button2) == LOW) {
menuSelection++;
if (menuSelection > 4) {
menuSelection = 1;
}
updateMenu();
delay(200);
}
if (digitalRead(button3) == LOW) {
// Code to run selected option goes here
lcd.clear();
lcd.print("Running option ");
lcd.print(menuSelection);
//updateMenu();
}
if (digitalRead(button4) == LOW) {
menuSelection = 1;
updateMenu();
delay(200);
}
}
void updateMenu() {
lcd.clear();
lcd.print("Select test:");
lcd.setCursor(0, 1);
switch (menuSelection) {
case 1:
lcd.setCursor(0,1);
lcd.print(">Option 1");
lcd.setCursor(1,2);
lcd.print("Option 2");
break;
case 2:
lcd.setCursor(0,1);
lcd.print(">Option 2");
lcd.setCursor(1,2);
lcd.print("Option 3");
break;
case 3:
lcd.setCursor(0,1);
lcd.print(">Option 3");
lcd.setCursor(1,2);
lcd.print("Option 4");
break;
case 4:
lcd.setCursor(0,1);
lcd.print(">Option 4");
break;
}
}