3색 LED SMD 모듈(KY-009): 두 판 사이의 차이

아두위키 : Arduwiki
(새 문서: {{#seo:|title=아두위키 : 아두이노 3색 LED SMD 모듈 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 3색 LED SMD 모듈, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 3색 LED SMD 모듈을 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}777x777픽셀...)
 
잔글 (ArduWiki님이 3색 LED SMD 모듈 문서를 넘겨주기를 만들지 않고 3색 LED SMD 모듈(KY-009) 문서로 이동했습니다)
 
(같은 사용자의 중간 판 3개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{{#seo:|title=아두위키 : 아두이노 3색 LED SMD 모듈 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 3색 LED SMD 모듈, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 3색 LED SMD 모듈을 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}[[파일:Smd3led대표이미지.jpg|777x777픽셀]]
{{#seo:|title=아두위키 : 아두이노 3색 LED SMD 모듈 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 3색 LED SMD 모듈, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 3색 LED SMD 모듈을 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}[[파일:Smd3led대표이미지.jpg|가운데|class=coders100]]


Red, Blue, Green 3원색을 0 ~ 255 값으로 컨트롤 하는 LED 모듈입니다.
Red, Blue, Green 3원색을 0 ~ 255 값으로 컨트롤 하는 LED 모듈입니다.
43번째 줄: 43번째 줄:
| colspan="1" rowspan="1" |B
| colspan="1" rowspan="1" |B
|}
|}
[[파일:Smd3led 회로.png|943x943픽셀]]
[[파일:Smd3led 회로.png|가운데|class=coders100]]


== '''예제 코드''' ==
== '''예제 코드''' ==
122번째 줄: 122번째 줄:


=== 실행 결과 ===
=== 실행 결과 ===
[https://blog.naver.com/gongzipsa/223233743845 링크]에서 작동 영상을 확인해주세요.
<div class="coders70">
<youtube> huAeuI494II </youtube>
</div>

2024년 7월 10일 (수) 14:37 기준 최신판

Red, Blue, Green 3원색을 0 ~ 255 값으로 컨트롤 하는 LED 모듈입니다.

3색 LED와 유사한 모델입니다.

사양

  • 작동전압 : 5V
  • 작동전류 : 20mA ~ 30mA

예제 사용 하드웨어(케이블, 브레드보드 제외)

연결

아날로그 출력을 위해 PWM 출력이 가능한 핀인 D9, D10, D11 핀을 사용합니다.

아두이노 나노 3색 LED SMD 모듈 PUSH 버튼
GND - 연결
D12 연결
D11 R
D10 G
D9 B

예제 코드

버튼을 누를 때마다 LED 색상이 변경되는 예제입니다.

#define btn1 12
#define red 11
#define green 10
#define blue 9

int btnFlg1 = 0;

int btn1Chk() {
  if (digitalRead(btn1) == 0) {
    btnFlg1 = 1;
    return 0;
  }
  if (btnFlg1 == 1) {
    btnFlg1 = 0;
    return 1;
  }
  return 0;
}

int state = 0;

void setup() {
  pinMode(btn1, INPUT_PULLUP);
}

void loop() {
  if (btn1Chk()) {
    switch (state) {
      case 0:
        analogWrite(red, 255);
        break;
      case 1:
        analogWrite(red, 0);
        analogWrite(green, 255);
        break;
      case 2:
        analogWrite(green, 0);
        analogWrite(blue, 255);
        break;
      case 3:
        analogWrite(red, 255);
        analogWrite(green, 255);
        analogWrite(blue, 0);
        break;
      case 4:
        analogWrite(red, 255);
        analogWrite(green, 0);
        analogWrite(blue, 255);
        break;
      case 5:
        analogWrite(red, 0);
        analogWrite(green, 255);
        analogWrite(blue, 255);
        break;
      case 6:
        analogWrite(red, 255);
        analogWrite(green, 255);
        analogWrite(blue, 255);
        break;
      case 7:
        analogWrite(red, 0);
        analogWrite(green, 0);
        analogWrite(blue, 0);
        break;
      default:
        break;
    }
    state++;
    if (state > 7) state = 0;
  }
  delay(10);
}

실행 결과