본문 바로가기 주메뉴 바로가기

1. 개요

입력장치, 제어장치, 출력장치가 구분되어 있는 SW 피지컬 교구입니다.

대표적인 것이 아두이노, 마이크로 비트 등이 있는데 카멜레온 코딩 키트는 모든 입출력 장치에 안전 케이스가 있어 내구성 및 조립의 편이성이 좋습니다.


구성은 아래와 같습니다.



1. 디지털 입력장치  

  - 스위치 센서, 고무 스위치 센서, 터치 센서, 자석 센서, 기울기 센서 

2. 아날로그 입력장치 

  - 적외선 센서, 압력 센서, 가속도 센서, 소리 센서, 조도 센서, 회전 센서, 초음파 센서, 심박 센서

3. 제어장치 

  - CPU 블럭

4. 출력장치 

  - LED 블럭 (레드, 블루, 화이트), 진동 모터 블럭, DC모터 블럭 

5. 기타  

  - 배터리 케이스, 기본 조립용 블록 세트  



 

소프트웨어는 스크래치 블록을 사용하여 컴퓨터가 있어야 합니다. 


각종 센서의 활용법을 알아보는 카멜레온 시뮬레이터가 있어 수업에 병행하여 활용하면 좋습니다.

※ 카멜레온 센서 시뮬레이터 보기 : http://robomall.co.kr/product/detail.html?product_no=12914&cate_no=869&display_group=1 


 

2. 기본 사용법


2.1. 소프트웨어 설치 및 세팅

카멜레온 코딩 키트는 프로보 스크래치 프로그램을 사용합니다.


1. 아래 그림을 클릭하여 프로보 스크래치를 다운받습니다.



2. 다운 받은 파일을 더블 클릭하여 설치를 합니다.


 
3. 바탕화면에 생성된 아이콘을 더블 클릭하여 프로그램을 실행합니다. 

4. 실행한 화면이 한국어가 아닌 경우,  프로보 스크래치 상단의 언어버튼을 클릭하여 '한국어'로 설정합니다. 

5. USB 드라이버 설치
 1) CPU블럭과 USB 다운로더 케이블을 연결 후 컴퓨터에 USB를 꽂아줍니다.
 2) USB 드라이버 -> USB 드라이버 설치프로그램 실행을 클릭합니다.
 3) 검정색 USB 드라이버 설치(신형)를 클릭합니다.
 4) INSTALL을 클릭하여 설치를 진행하고, 설치가 다 되면 완료를 클릭합니다.

6. CPU블럭에 HEX 파일 다운로드 (처음 구입 후 최초 1회만 실행) 
 1) 다운로드 -> 커넥트용 스크래치 HEX을 클릭하여 파일을 다운로드 합니다.
 2) 다운로드시 소리가 나며, 설치가 완료가 되면 CPU블럭에서 '삐~익" 소리가 나며 자동으로 연결이 됩니다. 

2.2. 프로그램 구성

프로보 스크래치는 스크래치의 기본 명령어에 카멜레온 코딩 키트를 동작하기 위한 명령이 추가 되어 있습니다.

'프로보 입력'에 입력창에 입력장치 제어 명령이, '프로보 동작'에 출력장치 제어 명령들로 구성되어 있습니다.


 

2.3. CPU블록 구성

CPU블럭은 입력포트 4개, 출력포트 4개, FND포트 1개, 모터포트 4개와 기본 작동 버튼 및 배터리 포트가 있습니다.


1. 입력포트 : 입력신호를 받는 포트이며 적외선 센서, 스위치 등 입력장치를 연결합니다. 

2. 출력포트 : 전기신호를 내보내는 포트로, LED블럭, 서보모터블럭 등 출력장치를 연결합니다.

3. FND포트 : 숫자를 표시하는 FND블럭을 연결하는 전용 출력포트입니다.

4. 모터포트 : 모터동작 신호를 내보내는 전용 출력포트입니다.

5. 배터리포트 : 배터리 에너지를 공급받는 포트입니다.

6. 전원버튼 : CPU블럭에 전원 공급을 켜고 끄는 스위치 버튼으로 모터 사용 전에는 사용하지 않습니다. 

                 (모터 이외의 입출력 전원은 컴퓨터와 연결된 USB 케이블로 부터 공급되는 전원으로 충분합니다.

7. 배터리점퍼 : 배터리 블럭을 한 개만 사용할 때 꽂아 두 핀에 전기가 흐르도록 연결하는 부품입니다. 빼면 안됩니다.^^

8. 리셋, 스타트 버튼 : 커넥트 제품 모드에서 사용하는 것으로 스크래치에서는 사용하지 않습니다.

3. 디지털 입력장치


3.1. 디지털 센서

디지털 센서는 센서의 작동에 따라 0과 1 두가지의 입력값으로 CPU블럭에 신호를 전달합니다.

쉽게 신호가 전달될 때, 안 될때라고 생각하면 쉬우며, CPU블럭의 A1~A4에 연결하여 사용합니다.


1. 스위치 센서

스위치 센서는 전류를 흐르게 연결하거나 흐르지 못하게 단락시키는 센서입니다.  

버튼을 누르면 전류가 흐르게 되어 CPU블럭에 1의 신호가 입력되고, 손을 떼면 전류가 차단되어 0의 신호가 입력됩니다.

 

2. 고무 스위치 센서

고무 스위치 센서는 탄성 소재가 고무로 되어 있어서 부드럽고 조용한 키감을 가지고 있는 센서입니다.

스위치 센서처럼 버튼을 누르면 1, 누르지 않으면 0의 신호를 보냅니다.


3. 터치 센서

터치 센서는 살짝 닿기만 해도 인체의 정전기를 감지하여 스위칭 동작을 하는 센서입니다.

닿으면 1, 닿지 않으면 0의 신호를 보냅니다.


4. 자석 센서

자석센서는 외부에 자석이 가까이 있을 때 자력을 감지하여 스위칭 동작을 하는 센서입니다.

자석이 있으면 1, 없으면 0의 신호를 보냅니다.


5. 기울기 센서

기울기 센서는 전기가 통하는 작은 캔 안에 단락되어 있는 부분을 기울기에 따라 작은 쇠구슬이 움직이면서 스위칭 동작을 하는 센서입니다.

1의 방향으로 기울면 1, 0의 방향으로 기울면 0의 신호를 보냅니다.

3.2. 디지털 입력장치 예제

디지털 센서는 센서의 작동에 따라 0과 1 두가지의 입력값으로 CPU블럭에 신호를 전달합니다.

쉽게 신호가 전달될 때, 안 될때라고 생각하면 쉽습니다.

CPU블럭의 A1~A4에 연결하여 사용하며, 모두 1과 0의 신호를 보내므로 디지털 입력 센서는 스크래치에서 센서 선택 시 '스위치'로 하여도 동작하나 정확한 동작을 위해서는 사용하려는 센서의 종류를 선택하여 사용해야 합니다.




스위치 센서로 스프라이트를 회전시키는 간단한 프로그램을 작성해 보겠습니다.


CPU블럭의 A1포트에 디지털 센서의 대표로 스위치 센서를 연결하고 아래와 같이 코딩합니다.



화면의 깃발모양 시작버튼을 클릭하고 스위치 센서를 눌러서 스프라이트의 동작을 확인합니다. 


 

디지털 입력은 아래와 같은 입력 설정을 통하여 다양한 코딩이 가능합니다.


A1 : 디지털 센서가 감지되는 동안 계속 신호 발생

FEA1 (Falling Edge A1) : 디지털 센서가 감지되는 순간 1회 신호 발생

REA1 (Rising  Edge A1) : 디지털 센서가 감지되었다가 끝나는 순간 1회 신호 발생

BEA1 (Both Edge A1) : 디지털 센서가 감지되는 순간 1회와 끝나는 순간 1회 신호 발생


 


입력 설정을 바꾸면서 센서를 동작하여 스프라이트 회전이 어떻게 반응하는지 확인합니다.
 

4. 아날로그 입력장치


4.1. 아날로그 센서

센서의 측정값에 따라 기본적으로 0~255 범위에서 입력값을 CPU블럭에 전달합니다.


센서 특성으로 실제 나타나는 최소, 최대 입력값은 기본 범위와 다를 수 있습니다. CPU블럭의 A1~A4 포트에 연결하여 사용합니다.


1. 적외선 센서

 발광부에서 나오는 적외선이 물체에 반사되어 돌아온 양을 수광부에서 감지하여 입력값으로 전달합니다. 흰색은 입력값이 많고, 검정색은 입력값이 적겠지요.^^ 


2. 압력 센서

 센서블럭을 누르는 세기를 입력값으로 전달합니다.


3. 가속도 센서

 센서블럭이 기우는 각도에 따른 입력값을 전달합니다.


4. 소리 센서 

 센서블럭 주변에 들리는 소리의 진동세기를 측정하여 입력값으로 전달합니다.


5. 조도 센서

 센서블럭 주변의 밝기를 측정하여 입력값으로 전달합니다.


6. 회전 센서

 회전센서 블럭의 원형부분이 회전하는 위치에 따라 입력 값이 변합니다. 양쪽 끝까지 돌리면 더 이상 회전되지 않으니 무리하게 돌리지 마세요.


7. 초음파 센서

 초음파을 발사해서 물체에 부딪혀 돌아오는 시간을 측정하여 거리를 환산하고 입력값으로 전달합니다. 물체가 감지되면 파란 불빛이 켜지며 물체의 면이 넓고 평평할 수록 측정이 더 잘 됩니다.


8. 심박 센서

 심박센서는 적외선을 피부에 발사했을 때 혈류에 반사되어 돌아온 적외선 양을 미세하게 감지하여 입력값으로 전달합니다. 심장의 펌프작용으로 혈관에 혈약량이 많으면 반사되는 적외선 양이 적어지고, 반대로 혈약량이 적어지면 반사되는 양이 많아지는 원리를 이용하여 사람의 심장 박동수를 측정할 수 있습니다. 

심박센서블럭 위에 손가락을 살짝 올려서 측정하며 측정시 움직이지 않도록 주의하여야 합니다. 

4.2. 아날로그 센서 예제

아날로그 입력값에 따라 스프라이트 크기가 변화하는 프로그램을 작성해 보도록 하겠습니다.


CPU블럭 입력 A1포트에 적외선 센서를 연결하고 아래와 같이 코딩합니다.



화면의 깃발 모양 시작 버튼을 클릭하고 적외선 센서에 앞에 손을 가져가 봅니다. 손과 적외선 센서의 거리를 변화해보며 스프라이트의 크기 변화를 확인합니다. 


 
아날로그 입력 앞에 체크박스를 체크하면 무대화면 왼쪽 위에 아날로그 입력값이 보여집니다.


기본적으로 아날로그 센서는 0~255 사이의 얼마 만큼인가 양을 전달하는 것은 동일하므로 스크래치에서 입력의 이름을 디지털 센서처럼 각 센서의 이름으로 변경하지 않아도 동작은 됩니다.
하지만, 각 센서의 특성상 측정 시 입력값의 차이가 있기 때문에 정확한 센서 입력값을 받아 동작하기 위해서는 꼭 사용하는 센서의 이름으로 변경해 주어야 합니다.
실제로는 적외선 센서가 장착되어 있지만, 스크래치 상에서 다른 아날로그 센서의 이름으로 바꾸어 보면서 확인해 보는 것도 재미있겠지요.^^


 

5. 출력장치


5.1. 출력장치

외부로 표시하거나 동작하는 장치들입니다. 카멜레온 코딩 키트에는 LED 블럭, 진동모터 블럭, FND 블럭, DC모터 블럭이 있습니다.


1. LED 블럭

 출력포트에서 전류를 받으면 해당하는 색상으로 켜집니다. 카멜레온 키트에는 레드, 블루, 화이트의 3가지 LED 블럭이 있습니다.


2. 진동모터 블럭

 출력포트에서 전류를 받으면 모터가 회전하여 진동을 발생시킵니다.


3. DC모터 블럭

 출력포트에서 전류가 흐르면 설정된 속도와 방향으로 회전합니다.

5.2. 출력장치 사용 예제

출력장치 중 LED 블럭, 진동모터 블록과 DC모터 블럭을 구분하여 예제를 만들어 보겠습니다.

LED 블럭, 진동모터 블록은 전류가 흐르면 단순 동작하는 것이기 때문에 같은 방식으로 사용할 수 있고, DC모터는 속도, 방향 등을 설정해야 하기 때문입니다.


키보드의 스페이스바를 누르면 LED가 켜지거나 진동모터 블록이 진동하는 프로그램을 작성해 보겠습니다.

(여기에서는 키보드의 스페이스바가 입력장치가 되는 것입니다^^)


CPU블럭의 B1 출력포트에 LED블럭을 연결하고 아래와 같이 코딩합니다.



화면의 깃발 모양 시작 버튼을 클릭하고 키보드의 스페이스바를 눌렀다 떼었다하면서 LED 블럭의 동작을 확인합니다.

B1 출력 포트에 LED 블럭을 제거하고 진동 모터 블럭을 연결한 후 역시 동작을 확인하여 봅니다.

이렇게 단순히 동작 여부만 결정하는 출력장치들은 별도의 구분없이 사용할 수 있습니다.


이번에는 스페이스바를 누르면 DC모터가 회전하는 프로그램을 작성해보도록 하겠습니다.


CPU 블럭의 M1 출력포트에 DC모터 블럭을 연결하고 아래와 같이 코딩합니다.



화면의 깃발 모양 시작 버튼을 클릭하고 키보드의 스페이스바를 눌렀다 떼었다하면서 DC모터 블럭의 동작을 확인합니다.


DC모터는 아래처럼 포트를 설정하여 제어할 수 있으며, 0~20 사이의 값으로 양의 수는 시계 반대방향, 음의 수는 시계방향으로 회전합니다.



6. 카멜레온 코딩 콘텐츠


6.1. 자동 가로등 만들기 - 반복, 조건

조도센서를 이용하여 밝으면 꺼지고 어두우면 자동으로 켜지는 자동 가로등을 만듭니다.


조도센서를 A1 입력 포트에, LED 블럭을 B1 출력포트에 연결하고 컴퓨터와 CPU블럭을 USB다운로드 케이블로 연결합니다.

조도센서는 아날로그 입력 장치이지만, 우리는 전원을 스위칭만 할 것이므로 디지털 입력으로 센서값을 입력합니다. 


프로그램 실행

 -> 입력이 들어오면 켜기

 -> 입력이 들어오지 않으면 끄기

 -> 위 내용 무한 반복



만드는 과정을 만들어 놓은 영상입니다^^

6.2. 자동 조명등 - 반복, 조건, 변수

터치센서와 소리센서를 이용하여 자동조명등을 만듭니다.


터치를 할 때마다 꺼지고, 켜지고를 반복하고, 소리센서로 소리가 날 때 마다 역시 켜지고, 꺼지고를 반복합니다.

터치센서를 A1 입력포트에, 소리센서를 A2 입력포트에 연결하고 컴퓨터와 CPU블럭을 USB다운로드 케이블로 연결합니다.


신호는 동일하게 들어오므로 변수를 이용하여야 합니다.

변수는 처음 0으로 설정하고, 센서를 통해 신호가 들어오면 1, 또 다시 들어오면 0으로 만들어 주면, 1일때는 켜지고, 0일때는 꺼지게 하여 조명등을 스위칭 할 수 있습니다.

또한, 처음 입력이 들어왔을 때만 입력신호를 받기 위해 '디지털 입력'을 'FEA1'을 선택합니다. (3.2. 디지털 입력장치 예제 참조)




 

프로그램 실행 
-> '터치 입력' 0 (전등 꺼짐) 
-> 디지털 입력되면 '터치 입력' 1로 변환 (전등 켜짐) 
-> 또 다시 디지털 입력 되면 '터치 입력' 2로 변경 (1만큼 바꾸므로) 
-> '터치  입력'이 1이 아니므로 '터치 입력'을 0으로 변환 (전등 꺼짐)
-> 위 내용 무한 반복


같은 방법으로 A2의 소리센서 입력을 추가합니다.


만드는 과정을 만들어 놓은 영상입니다^^





TOP