#include <Arduino.h>
#include <SoftwareSerial.h>
#define RED_LED_PIN 11
#define GREEN_LED_PIN 10
#define BLUE_LED_PIN 9
#define POTENTIOMETER_PIN A0
SoftwareSerial uart(2, 3);
void setup() {
pinMode(RED_LED_PIN, OUTPUT);
pinMode(GREEN_LED_PIN, OUTPUT);
pinMode(BLUE_LED_PIN, OUTPUT);
uart.begin(9600);
}
void loop() {
if (uart.available() > 0) {
String command = uart.readStringUntil(' ');
if (command == "red") {
String state = uart.readString();
if (state == "on") {
digitalWrite(RED_LED_PIN, HIGH);
} else if (state == "off") {
digitalWrite(RED_LED_PIN, LOW);
}
} else if (command == "green") {
String state = uart.readString();
if (state == "on") {
digitalWrite(GREEN_LED_PIN, HIGH);
} else if (state == "off") {
digitalWrite(GREEN_LED_PIN, LOW);
}
} else if (command == "blue") {
String state = uart.readString();
if (state == "on") {
digitalWrite(BLUE_LED_PIN, HIGH);
} else if (state == "off") {
digitalWrite(BLUE_LED_PIN, LOW);
}
}
}
int brightness = analogRead(POTENTIOMETER_PIN) / 4;
analogWrite(RED_LED_PIN, brightness);
analogWrite(GREEN_LED_PIN, brightness);
analogWrite(BLUE_LED_PIN, brightness);
}