ESP8266 - RGB LED | ESP8266 - LED RGB

이 튜토리얼은 ESP8266을 사용하여 RGB LED를 제어하는 방법을 안내합니다. 구체적으로, 우리는 배울 것입니다:

준비물

1×ESP8266 NodeMCU Amazon
1×Micro USB Cable Amazon
1×RGB LED Amazon
3×220 ohm resistor Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) 5V Power Adapter for ESP8266 Amazon
1×(Optional) ESP8266 Screw Terminal Adapter Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

RGB LED에 대하여

RGB LED는 빨강, 초록, 파랑의 세 가지 기본 색상을 결합하여 어떤 색상이든 생성할 수 있습니다. 이것은 세 개의 독립된 LED(빨강, 초록, 파랑)로 구성되어 있지만, 모두 하나의 하우징 안에 들어 있습니다.

RGB LED 핀배열

RGB LED는 네 개의 핀이 있습니다:

  • 공통(음극-) 핀을 GND(0V)에 연결해야 합니다.
  • R(빨간색) 핀은 빨간색을 조절하는 데 사용됩니다.
  • G(녹색) 핀은 녹색을 조절하는 데 사용됩니다.
  • B(파란색) 핀은 파란색을 조절하는 데 사용됩니다.
RGB LED pinout

ESP8266과 함께 RGB LED를 작동시키려면 전류 제한 저항기를 추가해야 합니다. 그것은 배선을 조금 복잡하게 만들 수 있습니다. 하지만, 해결책이 있어요! 저항기가 이미 내장되어 있는 RGB LED 모듈을 사용할 수 있습니다. 쉽죠!

RGB LED 모듈에는 또한 네 개의 핀이 포함되어 있습니다:

  • 공통(음극-) 핀: GND(0V)에 연결되어야 합니다.
  • R (빨간색): 핀은 빨간색을 제어하는 데 사용됩니다.
  • G (녹색): 핀은 녹색을 제어하는 데 사용됩니다.
  • B (파란색): 핀은 파란색을 제어하는 데 사용됩니다.
RGB LED Module Pinout

※ NOTE THAT:

공통 핀은 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 사이의 배선도

ESP8266 NodeMCU RGB LED wiring diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

ESP8266의 핀 배치ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.

ESP8266과 RGB LED 모듈간의 연결도

ESP8266 NodeMCU RGB LED module wiring diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

RGB LED 제어 방법

GRB LED를 어떤 색깔로든 제어하는 방법을 단계별로 배워봅시다. 예를 들어, #00979D 처럼:

  • 먼저 표시하고 싶은 색상을 결정하고 그 색상 코드를 구하세요. 팁:
    • 원하는 색상 코드는 color picker에서 선택할 수 있습니다.
    • 이미지에서 색상을 사용하고 싶다면 온라인 Colors From Image 도구를 사용하세요.
  • 그 다음, w3school의 도구를 사용하여 색상 코드를 R, G, B 값으로 변환하세요. 이 값들을 기록해 두세요. 이 경우에는: R = 0, G = 151, B = 157
RGB LED color picker

R, G, B 핀에 연결되는 ESP8266 핀을 지정하십시오. 예를 들면:

const int PIN_RED = 5; const int PIN_GREEN = 6; const int PIN_BLUE = 7;

다음 ESP8266 핀을 출력 모드로 설정하세요:

pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT);

LED가 빨강 = 0, 초록 = 151, 파랑 = 157로 구성된 #00979D 색상을 방출하도록 제어하세요.

analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 151); analogWrite(PIN_BLUE, 157);

ESP8266 - RGB LED 예제 코드

아래의 ESP8266 코드는 LED의 색상을 다음 순서로 변경합니다:

  • #00C9CC (빨강 = 0, 초록 = 201, 파랑 = 204)
  • #F7788A (빨강 = 247, 초록 = 120, 파랑 = 138)
  • #34A853 (빨강 = 52, 초록 = 168, 파랑 = 83)
/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-led-rgb */ const int PIN_RED = 5; const int PIN_GREEN = 6; const int PIN_BLUE = 7; void setup() { pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT); } void loop() { // 색상 코드 #00C9CC (R = 0, G = 201, B = 204) analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 201); analogWrite(PIN_BLUE, 204); delay(1000); // 색상을 1초간 유지 // 색상 코드 #F7788A (R = 247, G = 120, B = 138) analogWrite(PIN_RED, 247); analogWrite(PIN_GREEN, 120); analogWrite(PIN_BLUE, 138); delay(1000); // 색상을 1초간 유지 // 색상 코드 #34A853 (R = 52, G = 168, B = 83) analogWrite(PIN_RED, 52); analogWrite(PIN_GREEN, 168); analogWrite(PIN_BLUE, 83); delay(1000); // 색상을 1초간 유지 }

다양한 색상을 사용할 때, 함수를 생성함으로써 ESP8266 코드를 줄일 수 있습니다:

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-led-rgb */ const int PIN_RED = 5; const int PIN_GREEN = 6; const int PIN_BLUE = 7; void setup() { pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT); } void loop() { // 색상 코드 #00C9CC (R = 0, G = 201, B = 204) setColor(0, 201, 204); delay(1000); // 색상을 1초간 유지 // 색상 코드 #F7788A (R = 247, G = 120, B = 138) setColor(247, 120, 138); delay(1000); // 색상을 1초간 유지 // 색상 코드 #34A853 (R = 52, G = 168, B = 83) setColor(52, 168, 83); delay(1000); // 색상을 1초간 유지 } void setColor(int R, int G, int B) { analogWrite(PIN_RED, R); analogWrite(PIN_GREEN, G); analogWrite(PIN_BLUE, B); }

추가 지식

공통 양극을 가진 RGB LED의 경우, 다음을 해야 합니다:

  • 공통 핀을 ESP8266의 3.3V에 연결하세요.
  • AnalogWrite() 함수에서 R, G, B 값을 반전시키세요. 즉, 각각 255 - R, 255 - G, 255 - B를 사용하세요.

RGB LED 여러 개가 연결되어 있는 것을 RGB LED 스트립이라고 합니다. LED 스트립은 주소 지정이 가능한 LED 스트립과 주소 지정이 불가능한 LED 스트립으로 나눌 수 있습니다. 우리는 이 두 종류의 LED 스트립에 대한 튜토리얼을 만들 것입니다.

※ NOTE THAT:

RGB LED의 공통 핀에 하나의 저항을 사용하는 대신 다른 핀에 세 개의 저항을 사용하지 마십시오.

이는 이론상으로는 공통 핀에 하나의 저항을 사용하는 것이 괜찮을 수 있지만, 실제로는 그렇지 않기 때문입니다. RGB 패키지의 LED들은 동일하지 않아, 그들의 저항이 다릅니다. 결과적으로, 전류가 각 LED에 불균등하게 분배되어 밝기가 불균등 해지고, 이는 하나 이상의 LED의 파괴로 이어지고 결국 다른 LED들도 마찬가지가 될 수 있습니다.

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!