2016년 8월 1일 월요일

Color LED 제어

Color LED(혹은 RGB LED)는 일반적인 단색 LED와 달리 Red, Green, Blue 3가지 색의 LED를 동시 제어하여 색을 표현하는 부품입니다.

LED는 아두니티에서 DigitalOutput 혹은 AnalogOutput을 이용해서 제어할 수 있으니 Color LED 또한 3개의 LED가 합쳐진 것에 불과하여 쉽게 제어할 수 있습니다.
Red, Green, Blue LED를 On/Off 제어하는 회로

Red, Green Blue LED의 밝기를 제어하는 회로

위와 같은 회로를 제어하기 위해 아두니티에서 표현하는 방법은 다음과 같습니다.
먼저 GameObject를 다음과 같은 구조로 만드는 것이 좋습니다.


다음으로 아두니티 Wire Editor에서 각 GameObject에 필요한 Block을 추가하고 연결합니다.
Color LED를 DigitalOutput으로 제어하는 경우

Color LED를 AnalogOutput으로 제어하는 경우

여기서 주의할 점은 여러개의 ArdunityController가 있는 경우 ID가 중복되지 말아야 한다는 점입니다.
위의 정보를 아두이노 스케치로 만들어서 보드에 업로드하면 유니티에서 DigitalOutput 혹은 AnalogOutput의 값을 변경하여 Color LED의 색을 제어할 수 있습니다.

Color LED를 사용하는 이유는 다양한 색상을 표현하고, 이를 다채롭게 변화시켜서 아름다운 효과를 만들어내기 위함입니다.
문제는 위와같은 방법으로는 색상을 제어할 수 있을 뿐이지, 원하는 색상을 표현하기가 어렵습니다.
컴퓨터에서 색을 표현하는 방법은 여러가지가 있는데, RGBA 방식이 가장 직관적이고 널리 사용됩니다.
RGBA란, Red, Green, Blue, Alpha의 4가지 요소의 값을 조절하여 색을 표현하는 것으로 대부분의 프로그램에는 이를 쉽게 다룰 수 있는 도구가 있습니다.

만약, Color LED를 이와 같은 도구를 사용해서 색을 선택할 수 있다면 매우 좋을 것입니다.
아두니티는 ColorOutput이란 Bridge를 제공하여 위와 같이 제어할 수 있는 방법을 제공합니다.



ColorOutput의 Inspector에 있는 Color를 바꾸면 저절로 선택한 색상에서 RGB의 제어 값을 계산하여 연결된 DigitalOutput 혹은 AnalogOutput의 값이 변경됩니다.
앞에서 추가된 DigitalOutput 혹은 AnalogOutput과는 다음과 같이 연결될 수 있습니다.
Digital 제어 방식의 Color LED 연결

Analog 제어 방식의 Color LED 연결

이제 ColorOutput을 사용하면 원하는 색상으로 Color LED를 제어하는 것이 쉬워집니다.
ColorOutput을 여러가지 Reactor들과 연결하면 재미있는 효과를 만들어낼 수 있습니다.
다음 영상을 통해 확인하시기 바랍니다.



댓글 없음:

댓글 쓰기