빛의 삼원색을 알아보아요

치즈 스틱에 로터리 퍼텐쇼미터 3개를 연결한 후 손잡이를 돌려

R, G, B 색을 각각 조절하는 장치를 만들어 봅니다.

각각의 손잡이를 돌리면 해당 색 값의 비율이 높아지게 코딩하여

다양한 색의 빛을 표현할 수 있습니다.

R, G, B 세 가지 색을 잘 조합해 나만의 색을 만들어 보세요.

부품을 준비해 주세요.

필요 재료수량
치즈 스틱 본체1개
로터리 퍼텐쇼미터3개 (스타터 키트에는 로터리 퍼텐쇼미터가 1개 들어 있습니다. 세 친구가 함께 만들어 보아요.)
RGB LED1개
컴퓨터1대 (로봇 코딩 소프트웨어 설치 필요)

하드웨어를 준비해요.

1. 치즈 스틱 본체의 Sa~Sc 포트, 3곳 모두에 로터리 퍼텐쇼미터를 연결해 주세요.

2. L포트에 RGB LED를 연결해 주세요.

3. 컴퓨터 USB 포트에 USB 동글을 꽂은 후 치즈 스틱 본체의 전원을 켜 페어링 하세요.

4. 로봇 코딩 소프트웨어를 실행한 후 프로그래밍 할 프로그램을 선택해 주세요.

코딩을 해요.

관련 분야

코딩을 시작하기 전 빛의 삼원색에 대해 먼저 알아보아요!

광원으로부터 받은 빛을 반사한 색인 ‘색의 삼원색’과 달리 ‘빛의 삼원색’은 태양, 전등과 같은 광원이 내는 색입니다.

빛의 삼원색은 색마다 고유한 ‘파장’과 ‘진동수’를 가집니다.

색의 삼원색은 자홍(margenta), 노랑(yellow), 청록(cyan), 빛의 삼원색은 빨강(red), 초록(green), 파랑(blue)으로 구성되어 있어요.

세 가지 색을 섞으면 검정이 되는 색의 삼원색과 달리 빛의 삼원색은 모든 빛이 섞이면 흰빛이 된답니다!

우리가 모니터로 그림을 출력하면 빛의 삼원색이, 프린터로 그림을 출력하면 색의 삼원색이 적용됩니다.

그림판에서 색 편집 탭을 눌러보면 빨강(R), 녹색(G), 파랑(B) 값을 직접 입력해서 사용자 지정 색을 만들 수도 있어요!

코딩 하기

* 아래의 블록들은 연결해서 작성해야 하지만 설명을 위해 분리해 놓았어요.

완성된 코드는 아래에서 확인할 수 있습니다.

1. 변수를 추가하고 초기값을 ‘0’으로 정합니다.

먼저 시작하기 버튼을 클릭하면 변수 ‘RED’, ‘GREEN’, ‘BLUE’의 값이 ‘0’으로 초기화되도록 블록을 배치합니다.

2. 포트 입력과 값의 범위를 정합니다.

로터리 퍼텐쇼미터가 연결된 S 포트의 입력을 ‘아날로그’로 설정한 뒤 해당 값의 범위를 지정합니다. 이와 관련된 블록들은 하드웨어 탭에서 찾을 수 있습니다.

Sa, Sb, Sc 포트의 범위는 기본값인 ‘0~255’의 값으로 정해줍니다.

3. 속성 탭에서 신호를 추가하고 블록을 가져옵니다.

로터리 퍼텐쇼미터로부터 입력된 값을 RGB LED가 연결된 ‘L포트’로 전달하는 ‘메세지1’ 신호를 추가합니다.

이 신호는 RGB LED가 작동을 시작하고 로터리 퍼텐쇼미터를 돌릴 때마다 LED의 색과 밝기를 바꿀 수 있도록 해줍니다.

메세지1 신호를 받아 작동하는 코드는 변수값을 정하는 코드 마무리 후 작성하겠습니다.

4. 빛의 삼원색의 변수값을 정합니다.

변수값을 포트 입력값으로 정하기

‘(변수)를 ~으로 정하기’ 블록을 활용해 변수 ‘RED’, ‘GREEN’, ‘BLUE’의 값이 Sa, Sb, Sc 포트값을 반영할 수 있도록 합니다.

변수값 조정하기

여기서 Sa, Sb, Sc 포트 값을 그대로 가져와 변수값으로 정한다면 로터리 퍼텐쇼미터를 오른쪽으로 끝까지 돌려도 최댓값(233)이

앞서 설정한 범위의 최댓값인  ‘255’에 도달하지 못한다는 사실을 알 수 있습니다.

가변 저항이기 때문에 최댓값은 233 보다 조금 크거나 작을 수 있습니다.

이러한 문제를 보완하기 위해 입력 값에 ‘1.08’을 곱해 입력된 값의 크기를 키워 줍니다.

이렇게 입력받은 값들은 로터리 퍼텐쇼미터를 돌릴 때마다 변하는 값이므로

‘계속 반복하기’ 블록 안에 넣어 코드가 동작하는 동안 계속해서 값을 반영할 수 있도록 합니다.

1.08을 곱한 후의 변수 값은 최댓값 ‘254’로 ‘255’에 더욱 근접하는 것을 확인할 수 있습니다.

곱하는 값은 여러분의 가변 저항 값에 따라 자유롭게 변경해도 됩니다.

5. 완성된 코드는 아래와 같습니다.

6. 메세지1 신호를 받아 동작하는 코드 작성하기

이 코드는 로터리 퍼텐쇼미터의 움직임으로부터 얻은 ‘R, G, B’ 변수 값을 앞선 코드에서 받아와 RGB LED가 적절한 색을 표현할 수 있도록 하는  값으로 정합니다.

이제 로터리 퍼텐쇼미터 값을 원하는 대로 돌려가며 여러분이 원하는 색을 나타내 보아요!

응용하기

값을 변경하면 RGB LED가 어떤 색으로 빛나게 될지 각자 예상해 보아요.

로터리 퍼텐쇼미터를 조절해 찾은 RGB 변수 값으로 그림판이나 PPT에서 나만의 색을 지정해 보아요.