본문 바로가기

공대생 주석마루/아두이노 UNO

(15) LED RGB

-LED RGB란

기존 LED처럼 단색이 아닌 3색(빨강,파랑,초록) 세가지 색을 하나의 LED에서 나올 수 있게 한 장치를 말한다,

PWM기능을 사용하여 미세하게 빛의 양을 조절할 수 있다.

구성품은

아두이노 우노, 브렛보드, 스위치(버튼), LED RGB,  연결선이다.


-코드는

int rp=11;
int gp=10;

int bp=9;

 
int rc=7;
int gc=6;
int bc=5;

int red=0;
int green=0;
int blue=0;

void setup() {
  // put your setup code here, to run once:
pinMode(rp,OUTPUT);
pinMode(gp,OUTPUT);
pinMode(bp,OUTPUT);
pinMode(rc,INPUT_PULLUP);
pinMode(gc,INPUT_PULLUP);
pinMode(bc,INPUT_PULLUP);

}

void loop() {
  // put your main code here, to run repeatedly:
if(digitalRead(rc) == LOW)
{
  if(red >255)
  {
    red=0;
  }
  red =red +30;
  delay(200);
}
else if (digitalRead(gc) == LOW)
{
  if(green >255)
  {
    green=0;
  }
  green =green +30;
  delay(200);
}
else if(digitalRead(bc) == LOW)
{
  if(blue >255)
  {
    blue=0;
  }
  blue =blue +30;
  delay(200);
}
show(red,green,blue);
}
void show(int red, int green, int blue)
{
  analogWrite(rp,red);
analogWrite(gp,green);
analogWrite(bp,blue);
}


 빨강

 초록

 파랑

 입력 스위치와 연결된 핀(변수명)

 5(rc)

 6(gc)

 7(bc)

 LED RGB 출력핀(변수명)

 9(rp)

 10(gp)

 11(bp)

 빛의 양(출력 세기) 변수

 (red)

 (green)

 (blue)

단계는 LOW, 즉 스위치를 누를 때마다 if문이 발동해

최고 출력 255보다 작은지 확인하고(크면 0으로 초기화)

30씩 출력을 높이는 방식이다.


또한 show라는 임의의 함수를 만들어

한번에 LED RGB를 제어할 수 있도록 설정


-회로도


선색과 관련 LED색은 동일


-동영상




'공대생 주석마루 > 아두이노 UNO' 카테고리의 다른 글

(3-1) LED 신호등  (2) 2018.04.02
(16) 도트 매트릭스 (Dot Matrix)  (2) 2018.03.25
(14) Seven Segment 7세그먼트  (0) 2018.03.15
(13) 시리얼(Serial) 통신  (0) 2018.03.12
(12) DHT11 온습도센서 통신  (0) 2018.03.10