int led1 = 13;
int led2 = 12;
int led3 = 11;
int led4 = 10;
int led5 = 9;
int led6 = 8;
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
Serial.println("Ready...");
delay(2000);
showMainMenu();
}
void loop() {
if (Serial.available() > 0) {
char inChar = (char)Serial.read();
handleMainMenu(inChar);
}
}
void showMainMenu() {
Serial.println("Main Menu:");
Serial.println("1. LED 1");
Serial.println("2. LED 2");
Serial.println("3. LED 3");
Serial.println("4. LED 4");
Serial.println("5. LED 5");
Serial.println("6. LED 6");
Serial.println("Select a number to control an LED:");
}
void handleMainMenu(char choice) {
switch (choice) {
case '1': patern1(); break;
case '2': patern2(); break;
case '3': patern3(); break;
case '4': patern4(); break;
case '5': patern5(); break;
case '6': patern6(); break;
//default: Serial.println("Invalid option. Try again.");
delay(3000); showMainMenu(); break;
}
}
void patern1() {
Serial.println("LED1 MENU");
Serial.println("A. ON LED");
Serial.println("B. OFF LED");
Serial.println("--------------");
controlLED(led1, 'A', 'B');
}
void patern2() {
Serial.println("LED2 MENU");
Serial.println("C. ON LED");
Serial.println("D. OFF LED");
Serial.println("--------------");
controlLED(led2, 'C', 'D');
}
void patern3() {
Serial.println("LED3 MENU");
Serial.println("E. ON LED");
Serial.println("F. OFF LED");
Serial.println("--------------");
controlLED(led3, 'E', 'F');
}
void patern4() {
Serial.println("LED4 MENU");
Serial.println("G. ON LED");
Serial.println("H. OFF LED");
Serial.println("--------------");
controlLED(led4, 'G', 'H');
}
void patern5() {
Serial.println("LED5 MENU");
Serial.println("I. ON LED");
Serial.println("J. OFF LED");
Serial.println("--------------");
controlLED(led5, 'I', 'J');
}
void patern6() {
Serial.println("LED6 MENU");
Serial.println("K. ON LED");
Serial.println("L. OFF LED");
Serial.println("--------------");
controlLED(led6, 'K', 'L');
}
void controlLED(int led, char onChar, char offChar) {
while (true) {
while (Serial.available() == 0) {} // Wait for user input
char inChar = (char)Serial.read();
if (inChar == onChar) {
digitalWrite(led, HIGH);
Serial.println("ON");
delay(2000);
showMainMenu();
return;
} else if (inChar == offChar) {
digitalWrite(led, LOW);
Serial.println("OFF");
delay(2000);
showMainMenu();
return;
} //else {
// while (Serial.available() > 0) Serial.read(); // Clear the buffer
// Serial.println(" Try again.");
// }
}
}