Limetime's TimeLine
article thumbnail
반응형

삼원색 LED는 내부에 RGB 각각의 발광다이오드들이 모두 들어 있다. 그러므로 빛의 삼원색을 혼합하여 자연색을 구현할 수 있다.

제일 긴 다리가 GND이다.

1. 3개의 색. 혼합 점멸

int LED_R = 11;
int LED_G = 10;
int LED_B = 9;

void setup() {
  // put your setup code here, to run once:
  pinMode(LED_R, OUTPUT);
  pinMode(LED_G, OUTPUT);
  pinMode(LED_B, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(LED_R, HIGH);
  delay(500);
  digitalWrite(LED_R, LOW);
  delay(500);
  
  digitalWrite(LED_G, HIGH);
  delay(500);
  digitalWrite(LED_G, LOW);
  delay(500);
  
  digitalWrite(LED_B, HIGH);
  delay(500);
  digitalWrite(LED_B, LOW);
  delay(500);

  digitalWrite(LED_R, HIGH);
  delay(500);
  digitalWrite(LED_G, HIGH);
  delay(500);
  digitalWrite(LED_B, HIGH);
  delay(500);
  
  digitalWrite(LED_R, LOW);
  delay(500);
  digitalWrite(LED_G, LOW);
  delay(500);
  digitalWrite(LED_B, LOW);
  delay(500);
}

빨강 -> 초록 -> 파랑 -> 빨+초+파(흰색) 반복.

 

 

2. 자동으로 색이 바뀌는 3원색 LED

Random함수를 사용하여 1초 마다 색이 무작위로 바뀌는 것을 구현해보자!

int LED_R = 11;
int LED_G = 10;
int LED_B = 9;

void setup() {
  // put your setup code here, to run once:
  randomSeed(analogRead(0));
}

void loop() {
  // put your main code here, to run repeatedly:
 analogWrite(LED_R, random(256));
 analogWrite(LED_G, random(256));
 analogWrite(LED_B, random(256));
 delay(1000);
}
  • randomSeed() : 난수 생성기 초기화
  • random() : 0 ~ 255 중 무작위 수 생성

 

 


LED 위에 손바닥이나 종이를 대보면, RGB를 확실하게 구분하여 볼 수 있다. 모두 섞여 있다는 사실을...

반응형
profile

Limetime's TimeLine

@Limetime

포스팅이 좋았다면 "공감❤️" 또는 "구독👍🏻" 해주세요!