//cpp With the support of ChatGPT
const int ledPins[] = {2, 3, 4, 5};
const int ledCount = 4;
void setup() {
Serial.begin(9600);
// Setup LED pins
for (int i = 0; i < ledCount; i++) {
pinMode(ledPins[i], OUTPUT);
digitalWrite(ledPins[i], LOW);
}
Serial.println("Receiver ready.");
}
void loop() {
if (Serial.available()) {
String cmd = Serial.readStringUntil('\n');
Serial.println("Received: " + cmd);
processCommand(cmd);
}
}
void processCommand(String cmd) {
cmd.trim();
// Expected format: LED <num> <ON/OFF>
// Example: LED 3 ON
// Split into 3 parts
int firstSpace = cmd.indexOf(' ');
int secondSpace = cmd.indexOf(' ', firstSpace + 1);
if (firstSpace == -1 || secondSpace == -1) return;
String token1 = cmd.substring(0, firstSpace); // "LED"
String token2 = cmd.substring(firstSpace + 1, secondSpace); // number
String token3 = cmd.substring(secondSpace + 1); // ON or OFF
if (token1 != "LED") return;
int ledNum = token2.toInt();
bool state = (token3 == "ON");
Operate_Pin(ledNum, state);
}
void Operate_Pin(int ledNum, bool state) {
if (ledNum < 2 || ledNum > 5) {
Serial.println("Invalid LED Number!");
return;
}
digitalWrite(ledNum, state ? HIGH : LOW);
Serial.print("LED ");
Serial.print(ledNum);
Serial.print(" turned ");
Serial.println(state ? "ON" : "OFF");
}