#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;
}
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r
btn3:1.l
btn3:2.l
btn3:1.r
btn3:2.r
btn4:1.l
btn4:2.l
btn4:1.r
btn4:2.r
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
led1:A
led1:C