아두이노 나노 - LED RGB | Arduino Nano - LED RGB

이 튜토리얼은 아두이노 나노를 사용하여 RGB LED를 제어하는 방법을 알려줍니다. 구체적으로, 우리는 다음을 배우게 됩니다:

준비물

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

RGB LED에 관하여

RGB LED는 빨강, 초록, 파랑 세 가지 기본 색상을 결합하여 모든 색상을 생성할 수 있습니다. 이것은 세 개의 독립적인 LED(빨강, 초록, 파랑)가 하나의 케이스에 담겨 있는 구조입니다.

RGB LED 핀 배치

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

  • Common (Cathode-) pin: GND(0V)에 연결해야 합니다.
  • R (빨간색): 핀은 빨간색 조정에 사용됩니다.
  • G (녹색): 핀은 녹색 조정에 사용됩니다.
  • B (파란색): 핀은 파란색 조정에 사용됩니다.
RGB LED pinout

아두이노 나노로 RGB LED를 작동시키려면 흐름 제한 저항이 필요합니다. 모든 것을 연결하는 것이 상당히 까다로울 수 있습니다. 하지만 다행히도 이미 저항이 내장된 멋진 RGB LED 모듈을 그냥 사용할 수 있습니다!

RGB LED 모듈은 또한 네 개의 핀을 포함합니다:

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

※ NOTE THAT:

RGB LED의 공통 핀은 RGB LED의 유형에 따라 음극 또는 양극일 수 있습니다. 이 튜토리얼에서는 공통 음극을 사용합니다.

작동 원리

물리학에서, 색상은 세 가지 구성요소로 이루어집니다: 빨강(R), 초록(G), 그리고 파랑(B). 각 색상 값의 범위는 0부터 255까지입니다. 세 값의 조합은 총 256 x 256 x 256개의 색상을 만들어냅니다.

우리는 아두이노 나노를 사용하여 RGB LED의 R, G, B 핀에 듀티 사이클이 0에서 255까지인 PWM 신호를 공급함으로써 원하는 어떤 색상도 만들 수 있습니다.

R, G, B 핀으로 보내진 PWM 신호의 듀티 사이클은 각각 빨강(R), 초록(G), 파랑(B) 색상 값에 비례합니다.

선연결

아두이노 나노와 RGB LED 사이의 배선도

Arduino Nano RGB LED wiring diagram

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

아두이노 나노와 RGB LED 모듈 간의 배선도

Arduino Nano RGB LED module wiring diagram

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

RGB LED를 제어하는 방법

GRB LED를 본 예시 #00979D와 같이 원하는 어떤 색으로도 조절하는 방법을 단계별로 배워봅시다:

  • 먼저 표시하고 싶은 색상을 결정하고 해당 색상 코드를 얻으십시오. 팁:
  • 그런 다음, w3school에서 제공하는 도구를 사용하여 색상 코드를 R, G, B 값으로 변환하십시오. 이 값들을 기록해 두세요. 이 경우: R = 0, G = 151, B = 157
RGB LED color picker

R, G, B 핀에 연결된 Arduino Nano 핀을 명시하십시오. 예를 들어:

const int PIN_RED = 11; const int PIN_GREEN = 10; const int PIN_BLUE = 9;

아두이노 나노 핀을 출력 모드로 설정하십시오:

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

아두이노 나노 - RGB LED 예제 코드

아래의 아두이노 나노 코드는 특정 순서로 LED의 색상을 변경합니다:

  • #00C9CC (빨강 = 0, 녹색 = 201, 파랑 = 204)
  • #F7788A (빨강 = 247, 녹색 = 120, 파랑 = 138)
  • #34A853 (빨강 = 52, 녹색 = 168, 파랑 = 83)
/* * 이 Arduino Nano 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano/arduino-nano-led-rgb */ const int PIN_RED = 11; const int PIN_GREEN = 10; const int PIN_BLUE = 9; 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초간 유지 }

많은 색상을 사용할 때, 함수를 만들어 아두이노 나노 코드를 줄일 수 있습니다:

/* * 이 Arduino Nano 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano/arduino-nano-led-rgb */ const int PIN_RED = 11; const int PIN_GREEN = 10; const int PIN_BLUE = 9; 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의 경우, 다음을 수행해야 합니다:

  • Arduino Nano의 3.3V에 공통 핀을 연결하세요.
  • R, G, B 각 색상에 대해 원하는 값에서 255를 뺀 값을 이용하여 analogWrite() 함수를 사용하세요.

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!