Давайте используем знания, полученные в предыдущих экспериментах, для управления RGB светодиодом.
Давайте используем знания, полученные в предыдущих экспериментах, для управления RGB светодиодом.
RGB светодиод содержит внутри себя 3 светодиода, которые могут светиться красным (R), зеленым (G) и синим (B) цветами. Контролируя яркость каждого отдельного светодиода, можно контролировать и цвет всего RGB светодиода. RGB светодиод имеет 4 вывода, самый длинный из которых является общим. Этот вывод может быть либо анодом, либо катодом, в зависимости от модели.
На рисунке представоен светодиод с общим анодом, выглядит следующим образом
Комбинируя три цвета: красный, зеленый и синий – можно получить любой результирующий цвет.
Из предыдущей главы мы знаем, что один выход ШИМ платы Arduino позволяет установить 256 (0 - 255) уровней яркости. Таким образом, благодаря сочетанию трех различных цветов, RGB светодиод может иметь 256 ^3 = 16777216 цветов свечения. RGB светодиод содержит в себе 3 светодиода, поэтому нам понадобится и три потенциометра.
Подключим 3 потенциометра ко входам A0, A1 и A2 и контакты RGB светодиода к выводам D9, D10, D11 платы Arduino Uno.
Давайте напишем скетч, который будет считывать состояние 3-х потенциометров и преобразовывать их в ШИМ сигнал на цифровых выводах.
int ledPinR = 11; int ledPinG = 10; int ledPinB = 9; void setup() { pinMode(ledPinR, OUTPUT); pinMode(ledPinG, OUTPUT); pinMode(ledPinB, OUTPUT); } void loop() { int adcValue; adcValue = analogRead(A0); analogWrite(ledPinR, map(adcValue, 0, 1023, 0, 255)); adcValue = analogRead(A1); analogWrite(ledPinG, map(adcValue, 0, 1023, 0, 255)); adcValue = analogRead(A2); analogWrite(ledPinB, map(adcValue, 0, 1023, 0, 255)); }
Скомпилируйте и загрузите скетч на плату. Вращая каждый из 3-х потенциометров, вы сможете менять цвет светодиода так, как вам захочется.