const int pinR = 11;
const int pinG = 10;
const int pinB = 9;
void setup() {
Serial.begin(9600);
pinMode(pinR, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(pinB, OUTPUT);
}
void loop() {
Serial.println("-------------------");
while (!Serial.available()) {}
String inputColor = Serial.readStringUntil('#');
inputColor = Serial.readString();
inputColor.trim();
if (inputColor.length() > 6 || inputColor.length() < 6) {
Serial.println("Wrong color");
}
if (inputColor.length() == 6) {
Serial.println("Your color: #" + inputColor);
String hex = inputColor;
int redValue = strtol(hex.substring(0, 2).c_str(), NULL, 16);
int greenValue = strtol(hex.substring(2, 4).c_str(), NULL, 16);
int blueValue = strtol(hex.substring(4, 6).c_str(), NULL, 16);
analogWrite(pinR, redValue);
analogWrite(pinG, greenValue);
analogWrite(pinB, blueValue);
}
delay(5000);
}