라즈베리 파이 RGB LED
이 튜토리얼은 Raspberry Pi를 사용하여 RGB LED를 제어하는 방법을 안내합니다. 자세히 살펴볼 내용은 다음과 같습니다:
- RGB LED의 작동 원리.
- RGB LED를 Raspberry Pi에 연결하는 방법.
- Raspberry Pi를 프로그래밍하여 RGB LED의 색상을 제어하는 방법.
Hardware Preparation
1 | × | Raspberry Pi 4 Model B | Amazon | |
1 | × | RGB LED | Amazon | |
3 | × | 220 ohm resistor | Amazon | |
1 | × | (Alternative) RGB LED Module | 쿠팡 | Amazon | |
1 | × | Breadboard | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (추천) Screw Terminal Block Shield for Raspberry Pi | 쿠팡 | Amazon | |
1 | × | (추천) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B | Amazon | |
1 | × | (추천) Plastic Case and Cooling Fan for Raspberry Pi 4B | Amazon | |
1 | × | (추천) HDMI Touch Screen Monitor for Raspberry Pi | Amazon |
RGB LED에 대하여
RGB LED는 빨강, 초록, 파랑의 세 가지 기본 색을 결합하여 모든 색을 생성할 수 있습니다. 이는 하나의 하우징에 포함된 세 개의 개별 LED(빨강, 초록, 파랑)로 구성됩니다.
RGB LED 핀아웃
RGB LED는 네 개의 핀이 있습니다:
- 공통 (캐소드-) 핀은 GND (0V)에 연결되어야 합니다.
- 빨간색을 제어하는 R (빨간색) 핀
- 초록색을 제어하는 G (초록색) 핀
- 파란색을 제어하는 B (파란색) 핀
Raspberry Pi에 RGB LED를 연결하려면, 전류 제한 저항을 사용해야 합니다. 배선이 좀 어렵게 느껴질 수 있지만 걱정하지 마세요. 이미 내장된 저항이 있는 이 RGB LED 모듈을 사용할 수 있습니다.
RGB LED 모듈에는 또한 네 개의 핀이 포함되어 있습니다.
- 공통(캐소드-) 핀: GND(0V)에 연결해야 함
- R(빨강): 핀은 빨강을 제어하는 데 사용됨
- G(초록): 핀은 초록을 제어하는 데 사용됨
- B(파랑): 핀은 파랑을 제어하는 데 사용됨
※ NOTE THAT:
RGB LED의 핀 유형은 다양할 수 있으며, 캐소드 또는 애노드일 수 있습니다. 이 튜토리얼에서는 공통 캐소드 핀을 사용할 것입니다.
작동 방식
물리학 분야에서 세 가지 색상 값인 빨강(R), 초록(G), 파랑(B)이 결합되어 색상을 형성합니다. 각 값의 범위는 0에서 255까지입니다. 이 세 가지 값의 조합은 총 256 x 256 x 256 색상을 생성합니다.
우리는 Raspberry Pi를 프로그래밍하여 R, G, B 핀에 PWM 신호(듀티 사이클이 0에서 255까지)를 생성함으로써 원하는 색상의 RGB LED 디스플레이를 만들 수 있습니다. R, G 및 B 핀으로 전송되는 PWM 신호의 듀티 사이클은 각각 빨강(R), 초록(G) 및 파랑(B) 색상 값에 비례합니다.
Wiring Diagram
- 라즈베리 파이와 RGB LED 간의 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 라즈베리 파이와 RGB LED 모듈 간의 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
배선 구성을 간단하고 체계적으로 만들기 위해, Raspberry Pi용 스크루 터미널 블록 실드 사용을 권장합니다. 이 실드는 아래와 같이 더욱 안정적이고 관리하기 쉬운 연결을 제공합니다:
RGB LED 제어 방법
GRB LED를 어떤 색상으로든 제어하는 방법을 단계별로 배워봅시다. 예를 들어, #00979D:
- 먼저, 표시할 색상을 결정하고 해당 색상의 색상 코드를 얻습니다. 팁:
- 그런 다음, w3school의 도구를 사용하여 색상 코드를 R, G, B 값으로 변환합니다. 이 값을 반드시 기록해 두세요. 이 경우: R = 0, G = 151, B = 157
- Raspberry Pi 핀이 R, G, B 핀에 연결된 것을 지정합니다. 예를 들어:
- 라즈베리 파이 핀을 출력 모드로 설정하십시오.
- 라즈베리 파이 핀을 1000Hz 주파수의 PWM 신호를 출력하도록 설정하세요.
- LED를 제어하여 색상 #00979D에 불이 켜지도록 합니다. 이는 R = 0, G = 151, B = 157에 해당합니다.
라즈베리 파이 - RGB LED 예제 코드
아래의 Raspberry Pi 코드는 LED의 색상을 다음의 색조 순서로 변경합니다:
- #00C9CC (빨강 = 0, 초록 = 201, 파랑 = 204)
- #F7788A (빨강 = 247, 초록 = 120, 파랑 = 138)
- #34A853 (빨강 = 52, 초록 = 168, 파랑 = 83)
여러 색상을 사용할 때, 함수를 만들어 Raspberry Pi 코드를 줄일 수 있습니다:
추가 지식
공통 애노드가 있는 RGB LED의 경우, 다음이 필요합니다:
- 공통 핀을 라즈베리 파이의 3.3V에 연결하세요.
- AnalogWrite() 함수를 활용하고, R, G, B 값을 각각 255 - R, 255 - G, 255 - B로 설정하세요.
RGB LED 스트립은 함께 연결된 일련의 RCB LED로 구성되어 있습니다. LED 스트립은 어드레서블과 비어드레서블로 나눌 수 있습니다. 우리는 각 종류의 LED 스트립에 대한 튜토리얼을 만들 예정입니다.
※ NOTE THAT:
RGB LED의 공통 핀에 단일 저항을 사용하는 대신 다른 핀에 세 개의 저항을 사용하는 것은 피하세요.
이론적으로는 단일 RGB 패키지의 세 LED가 병렬로 연결되어 있으므로 공통 핀에 단일 저항을 사용하는 것이 가능하긴 합니다. 하지만 실제로는 권장되지 않습니다. 그 이유는 실제 세계의 LED는 동일한 특성을 가지고 있지 않기 때문입니다. RGB 패키지의 세 LED는 동일하지 않습니다 ⇒ LED의 저항이 다릅니다 ⇒ 전류가 각 LED에 고르게 분배되지 않습니다 ⇒ 밝기가 균일하지 않으며, 이는 결국 한 LED의 손상을 초래하고 나머지 LED도 손상시킬 수 있습니다.