본문으로 바로가기



RGB led


RGB led는 단일 색을 내는 led와는 다르게 총 256가지의 색을 낼 수 있다.

RGB led는 4가지의 핀으로 이루어져 있고, 순서대로 R, 공통 핀, G, B의 순으로 이루어져 있다.


이때 공통 핀은 다이오드의 방향에 따라 공통양극, 공통음극으로 나뉘며, 공통양극일 경우 공통 핀에는 +극을, 공통 음극일 경우 공통 핀에는 -극을 가지게 된다. 따라서 공통 양극일 경우 공통 핀에 VCC를 공통 음극일 경우 GND를 가하게 된다.


빛의 3원색


빛의 3원색은 빨강, 초록, 파랑의 3원색이며, 가법혼색의 기본색으로 빛의 색은 섞으면 섞을수록 밝아지는 특성을 가지고 있다.


실습 내용


각 스위치를 누를 때마다 빨간, 초록, 파란색을 표현해 보고, 여러 스위치를 동시에 누르면 어떤 색이 나오는지 관찰한다.


준비물


아두이노, 브레드보드, 점퍼케이블 11개, 저항300Ω(330Ω) 3개, 푸쉬버튼 스위치 3개, RGB led 1개


회로도




소스 코드



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
int R = 7;
int G = 5;
int B = 3;
 
int sw1 = 12;
int sw2 = 10;
int sw3 = 8;
//각 핀 포트할당
 
void setup() {
  
  pinMode(R, OUTPUT);
  pinMode(G, OUTPUT);
  pinMode(B, OUTPUT);
  pinMode(sw1, INPUT_PULLUP);
  pinMode(sw2, INPUT_PULLUP);
  pinMode(sw3, INPUT_PULLUP);
  //핀 모드 RGB는 아웃풋으로 스위치는 인풋으로 설정
}
 
void loop() {
  
  if(digitalRead(sw1) == LOW)
    digitalWrite(R, HIGH);
  else
    digitalWrite(R, LOW);
  //만약 sw1이 눌렸다면 빨간불을 켜줘라, 아니면 꺼줘라.
    
  if(digitalRead(sw2) == LOW)
    digitalWrite(G, HIGH);
  else
    digitalWrite(G, LOW);
    
  if(digitalRead(sw3) == LOW)
    digitalWrite(B, HIGH);
  else
    digitalWrite(B, LOW);  
}
cs


ex3_RGB_led.ino


결과 영상