ESP8266 RGB LED
이 튜토리얼은 ESP8266을 사용하여 RGB LED를 제어하는 방법을 안내합니다. 구체적으로, 우리는 배울 것입니다:
- RGB LED가 어떻게 작동하는지.
- RGB LED를 ESP8266에 어떻게 연결하는지.
- ESP8266을 프로그래밍하여 RGB LED의 색깔을 제어하는 방법.
준비물
1 | × | ESP8266 NodeMCU | 아마존 | |
1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
1 | × | RGB LED | 아마존 | |
1 | × | (또는) RGB LED 모듈 | 쿠팡 | 아마존 | |
3 | × | 220Ω 저항기 | 아마존 | |
1 | × | 브레드보드 | 쿠팡 | 아마존 | |
1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
1 | × | (추천) ESP8266용 스크루 터미널 확장 보드 | 쿠팡 | 아마존 | |
1 | × | (추천) ESP8266 Type-C용 전원 분배기 | 쿠팡 | 아마존 |
RGB LED에 대하여
RGB LED는 빨강, 초록, 파랑의 세 가지 기본 색상을 결합하여 어떤 색상이든 생성할 수 있습니다. 이것은 세 개의 독립된 LED(빨강, 초록, 파랑)로 구성되어 있지만, 모두 하나의 하우징 안에 들어 있습니다.
RGB LED 핀배열
RGB LED는 네 개의 핀이 있습니다:
- 공통(음극-) 핀을 GND(0V)에 연결해야 합니다.
- R(빨간색) 핀은 빨간색을 조절하는 데 사용됩니다.
- G(녹색) 핀은 녹색을 조절하는 데 사용됩니다.
- B(파란색) 핀은 파란색을 조절하는 데 사용됩니다.

ESP8266과 함께 RGB LED를 작동시키려면 전류 제한 저항기를 추가해야 합니다. 그것은 배선을 조금 복잡하게 만들 수 있습니다. 하지만, 해결책이 있어요! 저항기가 이미 내장되어 있는 RGB LED 모듈을 사용할 수 있습니다. 쉽죠!
RGB LED 모듈에는 또한 네 개의 핀이 포함되어 있습니다:
- 공통(음극-) 핀: GND(0V)에 연결되어야 합니다.
- R (빨간색): 핀은 빨간색을 제어하는 데 사용됩니다.
- G (녹색): 핀은 녹색을 제어하는 데 사용됩니다.
- B (파란색): 핀은 파란색을 제어하는 데 사용됩니다.

※ 주의:
공통 핀은 RGB LED의 유형에 따라 음극이나 양극이 될 수 있습니다. 이 튜토리얼에서는 공통 음극 핀을 사용할 것입니다.
작동 원리
물리학의 영역에서, 세 가지 색상 값이 하나의 색을 구성합니다: 빨강(R), 초록(G), 파랑(B). 각 값의 범위는 0부터 255까지입니다. 세 가지 값의 조합은 총 256 x 256 x 256의 색을 만들어냅니다.
우리는 ESP8266을 사용하여 PWM 신호(0부터 255까지 범위)를 R, G, B 핀에 전달함으로써 RGB LED를 원하는 색상으로 설정할 수 있습니다. R, G, B 핀에 전송된 PWM 신호의 듀티 사이클은 각각 빨강, 초록, 파랑 색상 값에 비례합니다.
선연결
ESP8266과 RGB LED 사이의 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
ESP8266 핀배열 및 ESP8266 전원을 켜는 방법에 대해 더 많이 보십시오.
ESP8266과 RGB LED 모듈간의 연결도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
RGB LED 제어 방법
GRB LED를 어떤 색깔로든 제어하는 방법을 단계별로 배워봅시다. 예를 들어, #00979D 처럼:
- 먼저 표시하고 싶은 색상을 결정하고 그 색상 코드를 구하세요. 팁:
- 원하는 색상 코드는 color picker에서 선택할 수 있습니다.
- 이미지에서 색상을 사용하고 싶다면 온라인 Colors From Image 도구를 사용하세요.
- 그 다음, w3school의 도구를 사용하여 색상 코드를 R, G, B 값으로 변환하세요. 이 값들을 기록해 두세요. 이 경우에는: R = 0, G = 151, B = 157

R, G, B 핀에 연결되는 ESP8266 핀을 지정하십시오. 예를 들면:
다음 ESP8266 핀을 출력 모드로 설정하세요:
LED가 빨강 = 0, 초록 = 151, 파랑 = 157로 구성된 #00979D 색상을 방출하도록 제어하세요.
ESP8266 - RGB LED 예제 코드
아래의 ESP8266 코드는 LED의 색상을 다음 순서로 변경합니다:
- #00C9CC (빨강 = 0, 초록 = 201, 파랑 = 204)
- #F7788A (빨강 = 247, 초록 = 120, 파랑 = 138)
- #34A853 (빨강 = 52, 초록 = 168, 파랑 = 83)
다양한 색상을 사용할 때, 함수를 생성함으로써 ESP8266 코드를 줄일 수 있습니다:
추가 지식
공통 양극을 가진 RGB LED의 경우, 다음을 해야 합니다:
- 공통 핀을 ESP8266의 3.3V에 연결하세요.
- AnalogWrite() 함수에서 R, G, B 값을 반전시키세요. 즉, 각각 255 - R, 255 - G, 255 - B를 사용하세요.
RGB LED 여러 개가 연결되어 있는 것을 RGB LED 스트립이라고 합니다. LED 스트립은 주소 지정이 가능한 LED 스트립과 주소 지정이 불가능한 LED 스트립으로 나눌 수 있습니다. 우리는 이 두 종류의 LED 스트립에 대한 튜토리얼을 만들 것입니다.
※ 주의:
RGB LED의 공통 핀에 하나의 저항을 사용하는 대신 다른 핀에 세 개의 저항을 사용하지 마십시오.
이는 이론상으로는 공통 핀에 하나의 저항을 사용하는 것이 괜찮을 수 있지만, 실제로는 그렇지 않기 때문입니다. RGB 패키지의 LED들은 동일하지 않아, 그들의 저항이 다릅니다. 결과적으로, 전류가 각 LED에 불균등하게 분배되어 밝기가 불균등 해지고, 이는 하나 이상의 LED의 파괴로 이어지고 결국 다른 LED들도 마찬가지가 될 수 있습니다.