. Управление 3-х цветным светодиодом. slide

. Управление 3-х цветным светодиодом.

Описание . Управление 3-х цветным светодиодом.

Управление 3-х цветным светодиодом.
 

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



Изменяя яркость каждого светодиода, возможно, получать самые различные цвета свечения светодиода.

Схема устройства



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


управление 3-х цветным светодиодом

Сборка устройства.

 Устанавливаем светодиод в макетную плату так, что бы выводы светодиода были вставлены в отверстия, несоединенные друг с другом. Затем устанавливаем резисторы и подключаем их проволочными перемычками к контактам платы Ардуино 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);
}


Теперь попробуйте изменить значения яркости светодиодов и посмотрите результат ваших изменений.
 

 
 
 

Другие проекты