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

Материал из УМКИwiki
Перейти к навигации Перейти к поиску
(Новая страница: «<code> ////////////////////////////////////////////// // 2019.07.16 woronin, umkiedu@gmail.com // RGB светодиод, подпрограмма /…»)
 
Нет описания правки
Строка 1: Строка 1:
<code>
<syntaxhighlight lang="C++">
  //////////////////////////////////////////////
  //////////////////////////////////////////////
  //    2019.07.16 woronin,  umkiedu@gmail.com
  //    2019.07.16 woronin,  umkiedu@gmail.com
Строка 10: Строка 10:
  int bluePin = 11;
  int bluePin = 11;
  #define COMMON_ANODE
  #define COMMON_ANODE
void setup()
 
{
void setup()
{
   pinMode(redPin, OUTPUT);
   pinMode(redPin, OUTPUT);
   pinMode(greenPin, OUTPUT);
   pinMode(greenPin, OUTPUT);
   pinMode(bluePin, OUTPUT);
   pinMode(bluePin, OUTPUT);
}
}
void loop()
 
{
void loop()
{
   setColor(255, 0, 0);  // red
   setColor(255, 0, 0);  // red
   delay(2000);
   delay(2000);
Строка 32: Строка 34:
   setColor(0, 0, 0);  // stop
   setColor(0, 0, 0);  // stop
   delay(1000);
   delay(1000);
}
}
void setColor(int red, int green, int blue)
 
{
void setColor(int red, int green, int blue)
{
  #ifdef COMMON_ANODE
  #ifdef COMMON_ANODE
   red = 255 - red;
   red = 255 - red;
Строка 43: Строка 46:
   analogWrite(greenPin, green);
   analogWrite(greenPin, green);
   analogWrite(bluePin, blue);
   analogWrite(bluePin, blue);
}
}
</code>
 
</syntaxhighlight>


[[Категория:Видео эпизоды УМКИ]]
[[Категория:Видео эпизоды УМКИ]]
[[Категория:Примеры программирования Arduino]]

Версия от 14:35, 15 ноября 2019

 //////////////////////////////////////////////
 //     2019.07.16 woronin,  umkiedu@gmail.com
 //     RGB  светодиод, подпрограмма
 //     Robot UMKI controller  K6_3
 //     самостоятельно сделать переливы света
 //////////////////////////////////////////////
 int redPin = 13;
 int greenPin = 12;
 int bluePin = 11;
 #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, 255, 0);  // blue
  delay(1000);
  setColor(0, 0, 255);  // green
  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);
}