2020. 8. 13. 00:24ㆍ공대남편/3D프린터개발산업기사
원리
흔히 쓰는 단색 LED가 아닌 3색(RGB) LED는 아래 사진처럼 다리가 4개가 있다. 하나는 Vcc 또는 GND 핀이고 나머지 세 개 핀은 각각 빨강(R), 초록(G), 파랑(B) 빛을 켤 수 있는 핀이다.
RGB LED는 종류가 두 가지인데, RGB핀 외에 나머지 한 개의 핀이 Vcc에 연결하는 핀인지 GND에 연결하는 핀인지에 따라 달라진다. (보드에 적힌 핀 정보를 확인하거나 회로도를 확인하자.) GND에 연결하는 것은 Cathode 타입, Vcc에 연결하는 것은 Anode 타입이다. R, G, B 핀에 각각 PWM으로 신호를 넣으면, 값에 따라 색이 변한다.
- Cathode 타입 : R, G, B + GND
- Anode 타입 : R, G, B + Vcc
회로 구성
일반적으로 PCB에 결합된 LED는 저항도 함께 결합되어 있기 때문에 별도의 저항을 연결할 필요가 없다. 그러나 간혹 저항이 결합되어 있지 않은 LED 모듈 제품도 있기 때문에 확인해보고 사용하자.
기본적으로 LED는 1.8 ~ 3.4V / 20~30mA에 동작하며, 저항없이 직접 전원에 연결하여 사용할 경우 정격 전압보다 높은 전압이 인가되어 LED의 수명이 단축되거나 고장이 날 수 있다. 따라서 LED 모듈에 저항이 없는 경우 저항값을 계산하여 연결해 준다. (링크 - digikey 저항 계산기)
R, G, B 핀은 PWM 제어를 사용하기 때문에 PWM 출력이 가능한 핀에 연결한다. (물결 무늬 "~"가 표시된 핀)
RGB LED | 아두이노 |
R | D3 |
G | D5 |
B | D6 |
GND | GND |
코드 작성
일정한 시간 간격으로 LED 불빛의 색이 빨강, 초록, 파랑으로 바뀌는 코드를 작성해보자.
int red = 6; //red 핀 설정
int green = 3; //green 핀 설정
int blue = 5; //blue 핀 설정
void setup()
{
//LED 초기화 (off)
analogWrite(red,0);
analogWrite(green,0);
analogWrite(blue,0);
}
void loop()
{
//빨강 0.5초 켜기
analogWrite(red,255);
delay(500);
analogWrite(red,0);
//초록 0.5초 켜기
analogWrite(green,255);
delay(500);
analogWrite(green,0);
//파랑 0.5초 켜기
analogWrite(blue,255);
delay(500);
analogWrite(blue,0);
}
'공대남편 > 3D프린터개발산업기사' 카테고리의 다른 글
[3D프린터개발산업기사 필기] 2019년 필기 기출문제 (0) | 2019.09.21 |
---|---|
[3D프린터개발산업기사 실기] 근접센서 사용하기 (0) | 2019.08.26 |
[3D프린터개발산업기사 실기] 로터리 엔코더 스위치 사용하기 (0) | 2019.08.26 |
[3D프린터개발산업기사 실기] 스위치와 디바운싱 (0) | 2019.08.23 |
[3D프린터개발산업기사 실기] 아두이노 I2C LCD 문자 출력 (0) | 2019.08.21 |