-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 |