Описание . Управление 3-х цветным светодиодом.
Управление 3-х цветным светодиодом.
Трехцветный(RGB) светодиод выглядит так же, как и обычный, но внутри прозрачной колбы размещены светодиоды красного, синего и зеленого свечения.
Изменяя яркость каждого светодиода, возможно, получать самые различные цвета свечения светодиода.
Схема устройства

Резисторы R1, R2, R3 - 360 Ом

Сборка устройства.
Устанавливаем светодиод в макетную плату так, что бы выводы светодиода были вставлены в отверстия, несоединенные друг с другом. Затем устанавливаем резисторы и подключаем их проволочными перемычками к контактам платы Ардуино D9, D10, D11. Самый длинный вывод светодиода – это КАТОД. Его мы подключаем к минусу питания (GND).
Код программы:
/*
Программа управления 3-х цветным светодиодом
*/
int redPin = 11;
int greenPin = 10;
int bluePin = 9;
void setup()
{
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop()
{
setColor(255, 0, 0); // красный
delay(1000);
setColor(0, 255, 0); // зеленый
delay(1000);
setColor(0, 0, 255); // синий
delay(1000);
setColor(255, 255, 0); // желтый
delay(1000);
setColor(80, 0, 80); // пурпурный
delay(1000);
setColor(0, 255, 255); // голубой
delay(1000);
}
void setColor(int red, int green, int blue)
{
#ifdef COMMON_ANODE
red = 255 - red;
green = 255 - green;
blue = 255 - blue;
#endif
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
Скопируйте текст программы, вставьте его в Arduino IDE и загрузите в контроллер.
После окончания загрузки светодиод начинает переливатся различныеми цветами.
Теперь попробуем рассмотреть сам скетч.
Эскиз мы начинаем с указания какие контакты Arduino мы будем использовать для каждого цвета:
int redPin = 11;
int greenPin = 10;
int bluePin = 9;
Следующим шагом мы должны написать процедуру setup(). Как мы знаем, эта функция работает только один раз при запуске программы или при сбросе контроллера Arduino.
В нашем случае мы определяем контакты контроллера, как выходы.
void setup()
{
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
Прежде, чем мы рассмотрим процедуру loop(), давайте посмотрим на последний блок в скетче.
void setColor(int red, int green, int blue)
{
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
Эта функция имеет три аргумента. Яркость красного светодиода, зелёного и синего. В каждом случае яркость свечения светодиода будет находиться в диапазоне от 0 до 255. При значении 255 яркость светодиода будет максимальной.
Если вы посмотрите на функции loop(), то вы увидите, что мы устанавливаем для красного, зеленого и синего цветов различные значения, которые и будут определять цвет свечения каждого светодиода, затем делаем паузу на одну секунду и переходим к другому цвету.
void loop()
{
setColor(255, 0, 0); // красный
delay(1000);
setColor(0, 255, 0); // зеленый
delay(1000);
setColor(0, 0, 255); // синий
delay(1000);
setColor(255, 255, 0);// жёлтый
delay(1000);
setColor(80, 0, 80); // пурпурный
delay(1000);
setColor(0, 255, 255);// голубой
delay(1000);
}
Теперь попробуйте изменить значения яркости светодиодов и посмотрите результат ваших изменений.
