RGB LED

아두위키 : Arduwiki
ArduWiki (토론 | 기여)님의 2023년 12월 7일 (목) 19:32 판

RGB 값을 조절하여 색을 표현하는 4pin RGB LED입니다.

Cathode(캐소드), Anode(애노드) 제품이 따로 있으며 본문에서는 캐소드 제품을 사용합니다.

사양

  • 작동전압[V] : Red(2~2.2), G(3~3.2), B(3~3.2)
  • Common Cathode type

예제 사용 하드웨어

연결

긴다리가 GND 이며 아래 이미지대로 긴다리 제외 왼쪽부터 R, G, B입니다.

아두이노 우노 저항1 저항2 저항3 RGB LED
GND GND
D11 연결
D10 연결
D9 연결
연결 R
연결 G
연결 B

예제 코드

6가지 색상이 순차적으로 점등하는 코드입니다.

#define ledR 11
#define ledG 10
#define ledB 9

void brightness(int r, int g, int b) {
  analogWrite(ledR, r);
  analogWrite(ledG, g);
  analogWrite(ledB, b);
}

void setup() {
  brightness(0, 0, 0);
  delay(500);
  brightness(255, 0, 0);
  delay(500);
  brightness(0, 255, 0);
  delay(500);
  brightness(0, 0, 255);
  delay(500);
  brightness(255, 255, 0);
  delay(500);
  brightness(255, 0, 255);
  delay(500);
  brightness(0, 255, 255);
  delay(500);
  brightness(0, 0, 0);
}

void loop() {
}

실행결과는 링크를 참고해주세요.

고등학교 정보교과서(씨마스) 예제

P. 207 함께 해결하기 (RGB LED)

본 예제는 교과서 내용에 따라 엔트리파이선을 사용합니다.

아두이노 사용 방법 문서에서 엔트리파이선을 활용 방법을 참고하세요.

파일:씨마스 p207 예제.jpg

연결

교과서와 동일합니다.

파일:RGB LED 씨마스 p207 예제 회로.png

예제 코드

빨간색(255, 0, 0) 1초 - 녹색(0, 255, 0) 1초 - 파란색(0, 0, 255) 1초 점등을 무한반복하는 코드입니다.

import Entry
import Arduino

def when_start():
    while True:
        Arduino.analogWrite(11, 255)
        Arduino.analogWrite(10, 0)
        Arduino.analogWrite(9, 0)
        Entry.wait_for_sec(1)
        Arduino.analogWrite(11, 0)
        Arduino.analogWrite(10, 255)
        Arduino.analogWrite(9, 0)
        Entry.wait_for_sec(1)
        Arduino.analogWrite(11, 0)
        Arduino.analogWrite(10, 0)
        Arduino.analogWrite(9, 255)
        Entry.wait_for_sec(1)

구매 링크