안녕하세요? 이번 글에서는 RGB LED 모듈을 알아보고 아두이노 함께 활용해보도록 하겠습니다.

RGB 모듈과 아두이노를 활용해보기 전에 RGB에 대하여 알아볼 것 입니다. 

RGB, 빛의 3원색과 같이 다들 한번씩 들어보셨을 것 입니다.

색이 표현되는 원리와 모듈이 어떻게 작동하는지에 대하여도 알아보도록 하겠습니다.

차례

1. RGB ( 빛의 3원색 )

2. RGB LED 모듈

3. 아두이노와 RGB LED

1. RGB

RGB는 각각 빛의 3원색 빨강, 파랑, 초록을 말합니다.

즉, RGB는 빨강과 파랑, 초록을 사용하여 색을 나타내는 방식을 의미합니다.

RGB 색 표현방식은 컴퓨터 모니터, TV, 컬러프린터와 같은 것에서 주로 사용됩니다.

'~만 화소' 라는 표현을 들어보셨을 것 입니다. RGB를 값으로 나타날 때 다음과 같은 표현을 쓰는데,

화소는 아주 작은 사각형으로써 빨강, 파랑, 초록의 조합으로 이루어집니다.

화소의 단위는 Byte(바이트)입니다. 빨강, 파랑, 초록 각각 1바이트가 조합되는 방식입니다.

1byte = 8bit 이기때문에 0~255의 값을 가질 수 있습니다.

정리하자면 RGB의 색은 R(0~255), G(0~255), B(0~255)의 값이 조합되어 표현됩니다.

그래서 RGB(123,53,0)와 같이 값이 표현되는 것 입니다.

결과적으로 사람은 빨강,파랑,초록을 뇌에서 각각 받아들여 조합하여 색을 인식합니다.

2. RGB LED 모듈

위 그림과 같은 LED 모듈을 사용합니다.

앞서 알아봤듯이 RGB는 각각 0~255의 값을 가지고 그것이 조합되어 색이 표현됩니다.

그러므로 RGB가 각각 출력값을 가질 때 디지털출력이 아닌 아날로그 출력값을 받아야 합니다.

아두이노에는 아날로그 출력을 할 수는 없지만 디지털핀 PMW를 이용하여 출력가능합니다.

그래서 RGB는 각각 9,10,11 핀에 연결합니다.

남은 I핀은 GND에 연결하여 주시면 됩니다.

그러면 9,10,11 출력값을 조절하여 빛의 색을 제어할 수 있게됩니다.


3. 아두이노와 RGB LED

회로는 다음과 같이 구성하여 주시면 됩니다.

그러면 random() 함수를 이용하여 빛의 색을 임의로 바꾸는 예제를 만들어보겠습니다.

코드를 보겠습니다.

정수형 변수를 선언하면 R,G,B 연결한 핀에 맞게 값을 초기화 시켜줍니다.

그리고 각각 OUTPUT 모드로 초기화 시켜줍니다.

random() 함수는 다음과 같습니다.

random(n) => 0 ~ n 까지 임의의 자연수

각각 핀에 아날로그 출력 값을 랜덤으로 설정하였습니다.

그러면 다음과 같이 빛의 색이 무작위하게 변화하게 됩니다.

오늘은 RGB의 정의와 빛의 색 구현의 원리, 그리고 RGB 모듈과 아두이노를 활용해보았습니다.

다음 글에서는 좀 더 유익한 정보를 찾아뵙겠습니다. 감사합니다.

+ Recent posts