const int buttonPin1 = 2;
const int buttonPin2 = 3;
const int buttonPin3 = 4;
const int ledPin1 = 13;
const int ledPin2 = 11;
const int ledPin3 = 12;
bool ledState1 = false;
bool ledState2 = false;
bool ledState3 = false;
String userInput = "";
void setup() {
Serial.begin(115200);
pinMode(buttonPin1, INPUT_PULLUP);
pinMode(buttonPin2, INPUT_PULLUP);
pinMode(buttonPin3, INPUT_PULLUP);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
}
void loop() {
if (Serial.available() > 0) {
userInput = Serial.readStringUntil('\n');
if (userInput == "button1") {
toggleLED(1);
}
else if (userInput == "button2") {
toggleLED(2);
}
else if (userInput == "button3") {
toggleLED(3);
}
}
if (digitalRead(buttonPin1) == LOW) {
toggleLED(1);
delay(250);
}
if (digitalRead(buttonPin2) == LOW) {
toggleLED(2);
delay(250);
}
if (digitalRead(buttonPin3) == LOW) {
toggleLED(3);
delay(250);
}
}
void toggleLED(int buttonNumber) {
if (buttonNumber == 1) {
if (!ledState1) {
ledState1 = true;
digitalWrite(ledPin1, HIGH);
Serial.println("LED 1 turned ON");
} else {
ledState1 = false;
digitalWrite(ledPin1, LOW);
Serial.println("LED 1 turned OFF");
}
}
if (buttonNumber == 2) {
if (!ledState2) {
ledState2 = true;
digitalWrite(ledPin2, HIGH);
Serial.println("LED 2 turned ON");
} else {
ledState2 = false;
digitalWrite(ledPin2, LOW);
Serial.println("LED 2 turned OFF");
}
}
if (buttonNumber == 3) {
if (!ledState3) {
ledState3 = true;
digitalWrite(ledPin3, HIGH);
Serial.println("LED 3 turned ON");
} else {
ledState3 = false;
digitalWrite(ledPin3, LOW);
Serial.println("LED 3 turned OFF");
}
}
delay(250);
}