아두이노 나노 - LED RGB | Arduino Nano - LED RGB
이 튜토리얼은 아두이노 나노를 사용하여 RGB LED를 제어하는 방법을 알려줍니다. 구체적으로, 우리는 다음을 배우게 됩니다:
- RGB LED가 어떻게 작동하는지.
- RGB LED를 아두이노 나노에 어떻게 연결하는지.
- 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를 작동시키려면 흐름 제한 저항이 필요합니다. 모든 것을 연결하는 것이 상당히 까다로울 수 있습니다. 하지만 다행히도 이미 저항이 내장된 멋진 RGB LED 모듈을 그냥 사용할 수 있습니다!
RGB LED 모듈은 또한 네 개의 핀을 포함합니다:
- 공통 (-카토드) 핀: GND (0V)에 연결해야 합니다.
- R (빨간색): 핀은 빨간색을 제어하는 데 사용됩니다.
- G (녹색): 핀은 녹색을 제어하는 데 사용됩니다.
- B (파란색): 핀은 파란색을 제어하는 데 사용됩니다.
※ 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 사이의 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
아두이노 나노와 RGB LED 모듈 간의 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
RGB LED를 제어하는 방법
GRB LED를 본 예시 #00979D와 같이 원하는 어떤 색으로도 조절하는 방법을 단계별로 배워봅시다:
- 먼저 표시하고 싶은 색상을 결정하고 해당 색상 코드를 얻으십시오. 팁:
- 원하는 색상 코드를 색상 선택기에서 선택할 수 있습니다.
- 이미지에서 색상을 사용하려면 온라인 이미지에서 색상 추출 도구를 사용하세요
- 그런 다음, w3school에서 제공하는 도구를 사용하여 색상 코드를 R, G, B 값으로 변환하십시오. 이 값들을 기록해 두세요. 이 경우: R = 0, G = 151, B = 157
R, G, B 핀에 연결된 Arduino Nano 핀을 명시하십시오. 예를 들어:
아두이노 나노 핀을 출력 모드로 설정하십시오:
LED가 적색 = 0, 녹색 = 151, 청색 = 157로 구성된 #00979D 색상을 발광하도록 제어하십시오.
아두이노 나노 - RGB LED 예제 코드
아래의 아두이노 나노 코드는 특정 순서로 LED의 색상을 변경합니다:
- #00C9CC (빨강 = 0, 녹색 = 201, 파랑 = 204)
- #F7788A (빨강 = 247, 녹색 = 120, 파랑 = 138)
- #34A853 (빨강 = 52, 녹색 = 168, 파랑 = 83)
많은 색상을 사용할 때, 함수를 만들어 아두이노 나노 코드를 줄일 수 있습니다:
추가 지식
공통 양극을 가진 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도 손상될 수 있습니다.