본문 바로가기

Embedded/Arduino

RGB LED

공통 음극(Common Cathode)

int redPin = 13;
int bluePin = 11
int greenPin = 10
int delayTime = 300;
 
void setup()
{
  pinMode(redPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
  pinMode(greenPin, OUTPUT);
}
 
void loop()
{
  // red only
  digitalWrite(redPin, HIGH);
  delay(delayTime); 
  digitalWrite(redPin, LOW);
  delay(delayTime); 
  
  // blue only
  digitalWrite(bluePin, HIGH);
  delay(delayTime); 
  digitalWrite(bluePin, LOW);
  delay(delayTime); 
  
   // green only
  digitalWrite(greenPin, HIGH);
  delay(delayTime); 
  digitalWrite(greenPin, LOW);
  delay(delayTime);
  
  // red+green = yellow
  digitalWrite(redPin, HIGH);
  digitalWrite(greenPin, HIGH);
  delay(delayTime); 
  digitalWrite(redPin, LOW);
  digitalWrite(greenPin, LOW);
  delay(delayTime);
  
  // red+blue = magenta
  digitalWrite(redPin, HIGH);
  digitalWrite(bluePin, HIGH);
  delay(delayTime); 
  digitalWrite(redPin, LOW);
  digitalWrite(bluePin, LOW);
  delay(delayTime);
  
  // green + blue = cyan
  digitalWrite(greenPin, HIGH);
  digitalWrite(bluePin, HIGH);
  delay(delayTime); 
  digitalWrite(greenPin, LOW);
  digitalWrite(bluePin, LOW);
  delay(delayTime);
  
  // red+ blue+ green = white
  digitalWrite(redPin, HIGH);
  digitalWrite(greenPin, HIGH);
  digitalWrite(bluePin, HIGH);
  delay(delayTime); 
  digitalWrite(redPin, LOW);
  digitalWrite(greenPin, LOW);
  digitalWrite(bluePin, LOW);
  delay(delayTime);
 
  
}

 

 

공통 양극(Common Anode)

// C++ code
//
int redPin = 13;
int bluePin = 10;
int greenPin = 11;
int delayTime = 1000;

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

void loop()
{
  // red only
  digitalWrite(redPin, LOW);
  delay(delayTime); 
  digitalWrite(redPin, HIGH);
  delay(delayTime);
  
  // blue only
  digitalWrite(bluePin, LOW);
  delay(delayTime); 
  digitalWrite(bluePin, HIGH);
  delay(delayTime); 
  
   // green only
  digitalWrite(greenPin, LOW);
  delay(delayTime); 
  digitalWrite(greenPin, HIGH);
  delay(delayTime);

  // red+green = yellow
  digitalWrite(redPin, LOW);
  digitalWrite(greenPin, LOW);
  delay(delayTime); 
  digitalWrite(redPin, HIGH);
  digitalWrite(greenPin, HIGH);
  delay(delayTime);
  
  // red+blue = magenta
  digitalWrite(redPin, LOW);
  digitalWrite(bluePin, LOW);
  delay(delayTime); 
  digitalWrite(redPin, HIGH);
  digitalWrite(bluePin, HIGH);
  delay(delayTime);
  
  // green + blue = cyan
  digitalWrite(greenPin, LOW);
  digitalWrite(bluePin, LOW);
  delay(delayTime); 
  digitalWrite(greenPin, HIGH);
  digitalWrite(bluePin, HIGH);
  delay(delayTime);
  
  // red+ blue+ green = white
  digitalWrite(redPin, LOW);
  digitalWrite(greenPin, LOW);
  digitalWrite(bluePin, LOW);
  delay(delayTime); 
  digitalWrite(redPin, HIGH);
  digitalWrite(greenPin, HIGH);
  digitalWrite(bluePin, HIGH);
  delay(delayTime);
}
 

'Embedded > Arduino' 카테고리의 다른 글

여러개 LED 배열 사용하여 제어하기  (0) 2021.06.10
LilyPad - basic  (0) 2021.06.10
Arduino-2  (0) 2021.06.10
MultiTasking with Arduino  (0) 2021.06.09
예제  (0) 2021.06.09