3색 LED 모듈(KY-016): 두 판 사이의 차이
(새 문서: 추가 예정) |
잔글편집 요약 없음 |
||
| (같은 사용자의 중간 판 8개는 보이지 않습니다) | |||
| 1번째 줄: | 1번째 줄: | ||
{{#seo:|title=아두위키 : 아두이노 3색 LED 모듈(KY-016) 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 3색 LED 모듈(KY-016), 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 3색 LED 모듈(KY-016)을 제어하는 방법(기본정보, 회로, 예제 코드)를 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}[[파일:KY016 대표.jpg|가운데|class=coders100]] | |||
3색 LED를 모듈화한 제품입니다. | |||
RGB 각각 0~255의 값으로 컨트롤이 가능합니다. | |||
== '''사양''' == | |||
* 작동 전압 : 5V | |||
* LED Diameter : 5mm | |||
* Common cathode type | |||
== '''예제 사용 하드웨어''' == | |||
* [[아두이노(Arduino)|아두이노 보드]] | |||
* [https://gongzipsa.com/shop/1699939304 점퍼 케이블] | |||
* KY-016 3색 LED 모듈 | |||
* [[택트 스위치(Tact Switch)|택트 스위치]] | |||
== '''연결''' == | |||
analogWrite()을 사용하기 때문에 PWM 출력이 가능한 핀인 D9 ,D10, D11을 사용합니다. | |||
{| class="wikitable" | |||
| colspan="1" rowspan="1" |아두이노 나노 | |||
| colspan="1" rowspan="1" |3색 LED 모듈 | |||
| colspan="1" rowspan="1" |push 버튼 | |||
|- | |||
| colspan="1" rowspan="1" |GND | |||
| colspan="1" rowspan="1" |- | |||
| colspan="1" rowspan="1" |연결 | |||
|- | |||
| colspan="1" rowspan="1" |D8 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |연결 | |||
|- | |||
| colspan="1" rowspan="1" |D9 | |||
| colspan="1" rowspan="1" |B | |||
| colspan="1" rowspan="1" | | |||
|- | |||
| colspan="1" rowspan="1" |D10 | |||
| colspan="1" rowspan="1" |G | |||
| colspan="1" rowspan="1" | | |||
|- | |||
| colspan="1" rowspan="1" |D11 | |||
| colspan="1" rowspan="1" |R | |||
| colspan="1" rowspan="1" | | |||
|} | |||
[[파일:KY016 회로.png|가운데|class=coders100]] | |||
== '''예제 코드''' == | |||
버튼을 누르면 6가지 색깔이 순차적으로 빛을 내는 예제입니다.<syntaxhighlight lang="c++" line="1"> | |||
const int ledR = 11; | |||
const int ledG = 10; | |||
const int ledB = 9; | |||
const int btn = 8; | |||
int btnFlg = 0; | |||
void setup() { | |||
pinMode(btn, INPUT_PULLUP); | |||
} | |||
void loop() { | |||
if (btnChk() == 1) { | |||
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); | |||
} | |||
delay(10); | |||
} | |||
void brightness(int r, int g, int b) { | |||
analogWrite(ledR, r); | |||
analogWrite(ledG, g); | |||
analogWrite(ledB, b); | |||
} | |||
int btnChk() { | |||
if (digitalRead(btn) == 0) { | |||
btnFlg = 1; | |||
return 0; | |||
} | |||
if (btnFlg == 1) { | |||
btnFlg = 0; | |||
return 1; | |||
} | |||
return 0; | |||
} | |||
</syntaxhighlight> | |||
===실행결과=== | |||
<div class="coders70"> | |||
<youtube> gRkkKgAm07A </youtube> | |||
</div> | |||
== '''구매 링크''' == | |||
* [https://gongzipsa.com/shop/1699939336 '''공집사몰'''] | |||
2025년 3월 21일 (금) 17:26 기준 최신판

3색 LED를 모듈화한 제품입니다.
RGB 각각 0~255의 값으로 컨트롤이 가능합니다.
사양
- 작동 전압 : 5V
- LED Diameter : 5mm
- Common cathode type
예제 사용 하드웨어
연결
analogWrite()을 사용하기 때문에 PWM 출력이 가능한 핀인 D9 ,D10, D11을 사용합니다.
| 아두이노 나노 | 3색 LED 모듈 | push 버튼 |
| GND | - | 연결 |
| D8 | 연결 | |
| D9 | B | |
| D10 | G | |
| D11 | R |

예제 코드
버튼을 누르면 6가지 색깔이 순차적으로 빛을 내는 예제입니다.
const int ledR = 11;
const int ledG = 10;
const int ledB = 9;
const int btn = 8;
int btnFlg = 0;
void setup() {
pinMode(btn, INPUT_PULLUP);
}
void loop() {
if (btnChk() == 1) {
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);
}
delay(10);
}
void brightness(int r, int g, int b) {
analogWrite(ledR, r);
analogWrite(ledG, g);
analogWrite(ledB, b);
}
int btnChk() {
if (digitalRead(btn) == 0) {
btnFlg = 1;
return 0;
}
if (btnFlg == 1) {
btnFlg = 0;
return 1;
}
return 0;
}
실행결과