// Простая программа: управление RGB-светодиодом через Serial Monitor
#define R_PIN 9 // Красный → обычно на PWM-пины (3,5,6,9,10,11)
#define G_PIN 10 // Зелёный
#define B_PIN 11 // Синий
void setup() {
Serial.begin(9600);
Serial.setTimeout(100); // ускоряем чтение строки
pinMode(R_PIN, OUTPUT);
pinMode(G_PIN, OUTPUT);
pinMode(B_PIN, OUTPUT);
// Погашаем светодиод при старте
analogWrite(R_PIN, 0);
analogWrite(G_PIN, 0);
analogWrite(B_PIN, 0);
Serial.println("Введите три числа от 0 до 255 через пробел:");
Serial.println("R G B → например: 255 128 0");
Serial.println("-------------------------------");
}
void loop() {
if (Serial.available() > 0) {
int r = Serial.parseInt();
int g = Serial.parseInt();
int b = Serial.parseInt();
// Очищаем буфер до символа новой строки
while (Serial.available() > 0 && Serial.read() != '\n');
// Ограничиваем значения 0–255
r = constrain(r, 0, 255);
g = constrain(g, 0, 255);
b = constrain(b, 0, 255);
// Устанавливаем цвет
analogWrite(R_PIN, r);
analogWrite(G_PIN, g);
analogWrite(B_PIN, b);
// Выводим подтверждение
Serial.print("Установлен цвет → R:");
Serial.print(r);
Serial.print(" G:");
Serial.print(g);
Serial.print(" B:");
Serial.println(b);
}
}