// Даём понятные имена пинам к которым подключены выводы RGB-светодиода constexpr int LED_RED_PIN = 9; constexpr int LED_GREEN_PIN = 10; constexpr int LED_BLUE_PIN = 11; // Даём понятное имя пину с потенциометром constexpr int POT_PIN = A0; // Создаём три переменные для хранения яркости каждого цвета RGB-светодиода int red, green, blue; void setup() { // Настраиваем пины RGB-светодиода в режим выхода pinMode(LED_RED_PIN, OUTPUT); pinMode(LED_GREEN_PIN, OUTPUT); pinMode(LED_BLUE_PIN, OUTPUT); // Настраиваем пин с потенциометром в режим входа pinMode(POT_PIN, INPUT); } void loop() { // Считываем аналоговый сигнал с потенциометра int rotation = analogRead(A0); // В зависимости от поворота ручки потенциометра, // генерируем разными методами цвета Red, Green и Blue if (rotation <= 170) { red = 255; green = map(rotation, 0, 170, 0, 255); blue = 0; } else if (rotation <= 340) { red = map(rotation, 170, 340, 255, 0); green = 255; blue = 0; } else if (rotation <= 512) { red = 0; green = 255; blue = map(rotation, 340, 512, 0, 255); } else if (rotation <= 682) { red = 0; green = map(rotation, 512, 682, 255, 0); blue = 255; } else if (rotation <= 852) { red = map(rotation, 682, 852, 0, 255); green = 0; blue = 255; } else { red = 255; green = 0; blue = map(rotation, 852, 1023, 255, 0); } // Выводим полученные значения на ножки RGB-светодиода analogWrite(LED_RED_PIN, red); analogWrite(LED_GREEN_PIN, green); analogWrite(LED_BLUE_PIN, blue); }