안녕하세요.
이번 포스트에서는 하나의 LED에서 3가지 RGB 색을 나타낼 수 있어 이들을 조합으로 모든 색을 출력할 수 있는 3색 LED에 대해 알아보겠습니다.
3색 LED는 일반적으로 빨간색, 초록색, 파란색의 세 가지 색을 낼 수 있는 LED를 말합니다. 이 LED는 하나의 패키지 안에 RGB(빨강, 초록, 파랑) 세 가지 색상의 LED 칩을 포함하고 있습니다. 이러한 LED는 다양한 색상을 만들기 위해 사용되며, 세 가지 기본 색상의 조합을 통해 다양한 색을 표현할 수 있습니다.
※1. 3색 LED 제어
구성 및 동작 원리
- RGB LED: 3색 LED는 RGB LED라고도 불리며, 각각의 LED 칩은 독립적으로 제어할 수 있습니다. 이를 통해 다양한 색을 조합할 수 있습니다.
- 빨간색 LED (Red)
- 초록색 LED (Green)
- 파란색 LED (Blue)
- 혼합 색상: 세 가지 기본 색상의 밝기를 조절함으로써 다양한 색상을 만들 수 있습니다. 예를 들어, 빨간색과 초록색을 혼합하면 노란색, 초록색과 파란색을 혼합하면 청록색, 빨간색과 파란색을 혼합하면 자홍색이 됩니다. 세 가지 색을 모두 동일하게 혼합하면 흰색이 됩니다.
RGB LED(3색 LED)에서 Common Anode와 Common Cathode는 각 색상의 LED 칩을 제어하는 방식에 따라 두 가지 타입으로 나뉩니다. 이 두 방식의 차이점과 각각의 특성을 이해하는 것이 중요합니다.
Common Cathode RGB LED
특징:
- 공통 음극(Common Cathode): 모든 LED 칩(빨강, 초록, 파랑)이 하나의 공통 음극을 공유합니다.
- 각 LED 칩의 양극은 별도로 제어됩니다.
핀 구성:
- R (Red) - 빨강 LED의 양극
- G (Green) - 초록 LED의 양극
- B (Blue) - 파랑 LED의 양극
- 공통 음극 (Cathode)
작동 원리:
- 공통 음극을 GND(접지)에 연결하고, 각 양극(R, G, B)에 전압을 가해 특정 LED 칩을 켭니다.
- 예를 들어, 빨강 LED를 켜려면 R 핀에 전압을 인가하고 GND와 연결된 공통 음극을 통해 전류가 흐르도록 합니다.
Common Anode RGB LED
특징:
- 공통 양극(Common Anode): 모든 LED 칩(빨강, 초록, 파랑)이 하나의 공통 양극을 공유합니다.
- 각 LED 칩의 음극은 별도로 제어됩니다.
핀 구성:
- R (Red) - 빨강 LED의 음극
- G (Green) - 초록 LED의 음극
- B (Blue) - 파랑 LED의 음극
- 공통 양극 (Anode)
작동 원리:
- 공통 양극을 VCC(전원, 일반적으로 5V)에 연결하고, 각 음극(R, G, B)을 GND로 연결하여 특정 LED 칩을 켭니다.
- 예를 들어, 빨강 LED를 켜려면 R 핀을 GND에 연결하고 VCC와 연결된 공통 양극을 통해 전류가 흐르도록 합니다.
- 전류 흐름 방향:
- Common Cathode: 각 LED의 양극에 전압을 인가하여 켭니다. 양극에 전압을 걸고 음극(GND)을 통해 전류가 흐릅니다.
- Common Anode: 각 LED의 음극을 GND에 연결하여 켭니다. 양극(VCC)을 통해 전류가 흐르고, 음극에 전압을 걸어 제어합니다.
- 제어 로직:
- Common Cathode: LED를 켜기 위해 양극에 HIGH 신호(전압)를 인가합니다.
- Common Anode: LED를 켜기 위해 음극에 LOW 신호(GND)를 인가합니다.
※2. Wiring (배선 연결)
테스트는 Common Cathode Type으로 진행합니다.
저항은 330ohm을 사용했습니다.(200~1000ohm 추)
※3. 소스코드 및 동작
3LED에 330ohm을 연결한 회로와 모듈형으로 3색 LED가 나온 부품을 테스트 해보겠습니다. 모듈형으로 나온 3색LED는 기본적으로 저항이 연결되어 있어서 별도의 저항이 요구되지 않습니다.
▶1. 소스코드
Common Catode Type 3색 LED를 제어하는 코드를 실행해 보겠습니다. (소스코드는 첨부파일 제공해 드리겠습니다.)
// 각 색상에 해당하는 핀 번호 정의 const int redPin = 11; const int greenPin = 10; const int bluePin = 9; void setup() { // 각 핀을 출력으로 설정 pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); } void loop() { // 빨간색 LED 켜기 digitalWrite(redPin, HIGH); digitalWrite(greenPin, LOW); digitalWrite(bluePin, LOW); delay(1000); // 초록색 LED 켜기 digitalWrite(redPin, LOW); digitalWrite(greenPin, HIGH); digitalWrite(bluePin, LOW); delay(1000); // 파란색 LED 켜기 digitalWrite(redPin, LOW); digitalWrite(greenPin, LOW); digitalWrite(bluePin, HIGH); delay(1000); //흰색 WhiteLED(); } void WhiteLED(){ for (int i=0 ; i<333 ; i++){ digitalWrite(redPin, HIGH); digitalWrite(greenPin, LOW); digitalWrite(bluePin, LOW); delay(1); digitalWrite(redPin, LOW); digitalWrite(greenPin, LOW); digitalWrite(bluePin, HIGH); delay(1); digitalWrite(redPin, LOW); digitalWrite(greenPin, HIGH); digitalWrite(bluePin, LOW); delay(1); } } |
▶2. 하드웨어 연결 및 동작 확인
3색 LED와 저항이 연결된 회로에서 지정된 코드에 따라 빨간색->초록색->파란색->흰색이 반복됩니다.
모듈에 내장된 LED에서 지정된 코드에 따라 빨간색->초록색->파란색->흰색이 반복됩니다.
이상으로 아두이노에서 3색 LED를 다루는 방법에 대한 설명을 마치겠습니다.
감사합니다.
'Embedded System > Arduino Board' 카테고리의 다른 글
[Arduino] 아두이노 슬라이드 스위치로 LED제어 (10) (0) | 2024.06.07 |
---|---|
[Arduino] 아두이노 택트 스위치로 LED제어 (9) (1) | 2024.06.07 |
[Arduino] 아두이노 8x8 Matrix Dot LED(1088BS)제어하기 (7) (1) | 2024.06.03 |
[Arduino] 아두이노 4Digit 7Segment(4자리 FND)제어하기 (6) (0) | 2024.06.02 |
[Arduino] 아두이노 Common Anode 7Segment(FND) 제어하기 (5) (0) | 2024.05.22 |