const int buttonUpPin = 2;
const int buttonDownPin = 3;
const int buttonSelectPin = 4;
int currentMenuItem = 0;
int previousMenuItem = 0;
int totalMenuItem = 4;
bool buttonUpState = false;
bool buttonDownState = false;
bool buttonSelectState = false;
bool menuActive = false;
int x =5;
int y =4;
void setup() {
// put your setup code here, to run once:
pinMode(buttonUpPin, INPUT_PULLUP);
pinMode(buttonDownPin, INPUT_PULLUP);
pinMode(buttonSelectPin, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
buttonUpState = digitalRead(buttonUpPin);
buttonDownState = digitalRead(buttonDownPin);
buttonSelectState = digitalRead(buttonSelectPin);
if (buttonSelectState == LOW) {
menuActive = true;
displayMenu(); // Display the menu options in the serial monitor
while (menuActive) {
if (buttonUpState == LOW && previousMenuItem != currentMenuItem) {
currentMenuItem--;
if (currentMenuItem < 0) {
currentMenuItem = totalMenuItem - 1;
}
displayMenu();
}
}
if (buttonDownState == LOW && previousMenuItem != currentMenuItem) {
currentMenuItem++;
if (currentMenuItem >= totalMenuItem) {
currentMenuItem = 0;
}
displayMenu();
}
previousMenuItem = currentMenuItem;
if (buttonSelectState == LOW){
executeSelectedAction();
menuActive = false;
}
buttonUpState = digitalRead(buttonUpPin);
buttonDownState = digitalRead(buttonDownPin);
buttonSelectState = digitalRead(buttonSelectPin);
}
}
void displayMenu() {
Serial.println("Menu Options:");
Serial.println("--------------");
Serial.print("0. Addition");
if (currentMenuItem == 0) {
Serial.print(" (selected)");
}
Serial.println();
Serial.print("1. Subtraction");
if (currentMenuItem == 1) {
Serial.print(" (selected)");
}
Serial.println();
Serial.print("2. Multiplication");
if (currentMenuItem == 2) {
Serial.print(" (selected)");
}
Serial.println();
Serial.println();
delay(1000);
}
void executeSelectedAction() {
switch (currentMenuItem) {
case 0:
// Addition
int sum = x + y;
Serial.print("Result of Addition: ");
Serial.println(sum);
break;
case 1:
// Subtraction
int difference = x - y;
Serial.print("Result of Subtraction: ");
Serial.println(difference);
break;
case 2:
// Multiplication
int product = x * y;
Serial.print("Result of Multiplication: ");
Serial.println(product);
break;
default:
break;
}
Serial.println(); // Add a line break for clarity
}