0402 rgb svetodiod: различия между версиями

Материал из УМКИwiki
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
<syntaxhighlight lang="C++">
<syntaxhighlight lang="C++">
  //////////////////////////////////////////////
  //////////////////////////////////////////////
  //    2019.07.16 woronin,  umkiedu@gmail.com
  //    2021.02.17 woronin,  umkiedu@gmail.com
  //    RGB  светодиод, подпрограмма
  //    RGB  светодиод, подпрограмма включает: красный - зелёный - синий
  //    Robot UMKI controller  K6_3
  //    Robot UMKI controller  K6_3
  //    самостоятельно сделать переливы света
  //    самостоятельно сделать переливы света
Строка 22: Строка 22:
   setColor(255, 0, 0);  // red
   setColor(255, 0, 0);  // red
   delay(2000);
   delay(2000);
  setColor(0, 0, 255);  // green
  delay(1000);
   setColor(0, 255, 0);  // blue
   setColor(0, 255, 0);  // blue
  delay(1000);
  setColor(0, 0, 255);  // green
   delay(1000);
   delay(1000);
   setColor(255, 255, 0);  // yellow
   setColor(255, 255, 0);  // yellow

Текущая версия от 14:42, 17 февраля 2021

 //////////////////////////////////////////////
 //     2021.02.17 woronin,  umkiedu@gmail.com
 //     RGB  светодиод, подпрограмма включает: красный - зелёный - синий
 //     Robot UMKI controller  K6_3
 //     самостоятельно сделать переливы света
 //////////////////////////////////////////////
 int redPin = A0;
 int greenPin = A1;
 int bluePin = A2;
 #define COMMON_ANODE

void setup()
{
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}

void loop()
{
  setColor(255, 0, 0);  // red
  delay(2000);
  setColor(0, 0, 255);  // green
  delay(1000);
  setColor(0, 255, 0);  // blue
  delay(1000);
  setColor(255, 255, 0);  // yellow
  delay(1000);
  setColor(80, 0, 80);  // purple
  delay(1000);
  setColor(0, 255, 255);  // aqua
  delay(1000);
  setColor(0, 0, 0);  // stop
  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);
}