캡스톤디자인(3-1)/아두이노

[아두이노] RGB 모듈

av0nr3pus 2024. 7. 6. 23:45

 

오늘은 정말 간단하게! RGB 모듈에 대해서 정리해보겠다. 사실 LCD를 먼저하려고 했는데 이 RGB 모듈이 훨씬 간단해서 먼저 쓰는 중.. ㅎㅎ

이건 구매링크가 없다.. 우리 과 실험방에 있는 모듈을 훔쳤기 때문이다.. 괜찮아요 금방 가져다 둘게요


1. RGB module

하나의 LED에서 빨강(Red), 녹색(Green), 파랑(Blue) 세 가지 색상을 구현할 수 있는 LED 모듈이다. 또한, 각 색상 LED는 개별적으로 제어 가능하고 세 가지 색상을 조합하여 다양한 색상을 만들 수 있다. 사실 이 RGB 모듈은 우리 조의 기술을 뒷받침해주는 역할만 하기 때문에 굉장히 쉽게 해결할 수 있었다. 구현하려고 했던 LED 기술은 3번 문단에서 서술하겠다!

 

R: red pin, common CATHODE로 연결했기 때문에 HIGH signal을 주어 동작할 수 있다.

G: green pin, R과 마찬가지로 HIGH signal로 동작.

B: blue pin

GND: ground

 

2. 준비물

1) RGB module

2) breadboard

3) 점퍼선(암-수)

4) arduino UNO board

5) USB cable

 

3. 구현할 기능

카트 사용자가 선택한 구역의 색깔을 시각적으로 표시, 각 구역의 색깔은 색감지센서의 오류를 최대한 막기 위해(색감지센서 또한 인식을 RGB로 구분하기 때문에 그렇다.) 빨간색, 초록색, 파란색으로 설정했다.

-> 핵심적인 기술은 아니지만 사용자가 선택한 구역의 구별을 쉽게 하기 위해서 구현하면 어떨까? 해서 나온 아이디어이다.

 

4. 실제 연결

1) R -> 8번 핀에 연결

2) G -> 9번 핀에 연결

3) B -> 10번 핀에 연결

* RGB 각각의 LED의 세기를 조정해 임의의 색을 표현하고 싶다면 PWM 기능이 지원되는 핀에 연결해주어야 한다.

4) GND -> arduino UNO board의 GND 핀에 연결

 

5. arduino IDE program code

-> 우리 조는 RGB의 세기를 조절하는 기능은 딱히 필요가 없었어서 PWM 핀에 연결하지 않고 남는 핀인 8, 9, 10에 각각 연결했다. 이 2초마다 빨간색, 초록색, 파란색번갈아 나오는 프로그램을 짜보았다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
const int redPin = 8;
const int greenPin = 9;
const int bluePin = 10;
 
void setup() {
  // RGB LED 핀을 출력으로 설정
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}
 
void loop() {
  // 빨강색
  digitalWrite(redPin, HIGH);
  digitalWrite(greenPin, LOW);
  digitalWrite(bluePin, LOW);
  delay(2000);
  
  // 녹색
  digitalWrite(redPin, LOW);
  digitalWrite(greenPin, HIGH);
  digitalWrite(bluePin, LOW);
  delay(2000);
  
  // 파랑색
  digitalWrite(redPin, LOW);
  digitalWrite(greenPin, LOW);
  digitalWrite(bluePin, HIGH);
  delay(2000);
}
cs
 

6. 결과

각각 빨간색, 초록색, 파란색이 2초마다 번갈아 나오는 것을 확인할 수 있다.