Данный проект смесителя цветов в RGB-светодиоде идеально подходит для начинающих пользователей Arduino, которые хотят попробовать создать интерактивный гаджет. Это не только весело и легко сделать, но и может быть полезно для всех, кто использует цвета RBG, например, для художников и веб-разработчиков.

Представленная здесь простая схема объединяет три потенциометра для установки яркости каждого из красного, зеленого и синего светодиодов внутри светодиода RGB. Кроме того, в схему добавлена кнопка и дополнительная функция для включения и выключения цепи.
Подключите компоненты схемы, как показано на следующем изображении. Светодиод RGB подключен к ШИМ-контактам 9, 10 и 11 у Arduino. Кнопка подключена к контакту 7, а 3 потенциометра к A0, A1 и A2. Не забудьте добавить подтягивающий резистор 10 кОм к заземлению на кнопке. Также не забудьте подключить 3 резистора 220 Ом между светодиодом и выходными контактами, это гарантирует, что ваш светодиод не перегорит.

Значение каждого потенциометра выводится в последовательном мониторе, поэтому, если вы экспериментируете со светодиодом и найдете цвет, который вам нравится, вы можете записать значение RGB, чтобы использовать его позже.
Код программы следующий:
int blue = 9;
int green = 10;
int red = 11;
int redPot = A0;
int greenPot = A1;
int bluePot = A2;
int greenVal = 0;
int blueVal = 0;
int redVal = 0;
const int BUTTON = 7;
int state = 0;
int val = 0;
int old_val = 0;
void setup() {
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
pinMode(red, OUTPUT);
pinMode(BUTTON, INPUT);
Serial.begin(9600);
}
void loop() {
Serial.begin(9600);
val = digitalRead(BUTTON);
if ((val == HIGH) && (old_val == LOW)) {
state = 1 - state;
delay(10);
}
old_val = val;
greenVal = analogRead(greenPot);
blueVal = analogRead(bluePot);
redVal = analogRead(redPot);
if (state == 1) {
analogWrite(green, greenVal / 4);
analogWrite(blue, blueVal / 4);
analogWrite(red, redVal / 4);
Serial.print("RGB(");
Serial.print(redVal/4);
Serial.print(",");
Serial.print(greenVal/4);
Serial.print(",");
Serial.print(blueVal/4);
Serial.println(")");
delay(50);
} else {
analogWrite(green, 0);
analogWrite(blue, 0);
analogWrite(red, 0);
delay(50);
}
}
После того, как вы подключили схему и загрузили скетч, попробуйте повернуть ручки потенциометров. Сначала ничего не должно происходить, пока вы не нажмете кнопку. Теперь попробуйте снова повернуть ручки. Когда все потенциометры включены полностью, свет должен быть белым. Попробуйте оставить один из потенциометров выключенным или с очень низким сопротивлением и изменить два других.
© digitrode.ru