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

1. 개요

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

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


입출력장치에 안전케이스가 되어 있는 KC 인증제품 중 가장 많은 센서를 보유하고 있어 다양한 활동이 가능한 것이 가장 큰 장점입니다.

기존 메이커 활동에 대다수가 아두이노 등이 활용되고 있는데, 사용자의 안전 및 연령층을 내려보고 싶은 욕심^^으로 구성된 교구입니다.


구성은 아래와 같습니다.



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. 엔트리와 연결

카멜레온 코딩 키트는 프로보 스크래치 프로그램과 엔트리를 사용할 수 있습니다.


e-매뉴얼에서는 기본적으로 엔트리를 이용하며, 별도로 프로보 스크래치 프로그램을 이용하시고자 하는 경우는 아래 링크를 참조하세요.

스크래치나 엔트리나 기본 사용방법은 거의 같기 때문에 쉽게 프로보 스크래치도 사용할 수 있을 겁니다.^^

https://www.happycreative.co.kr/manual/detail.php?idx=5#372 


1. 엔트리와 연결 방법

 1) USB 커넥트 게이블로 카멜레온보드와 PC를 연결합니다.

 2) 엔트리 실행 후 하드웨어 연결프로그램을 실행합니다.

 3) 프로보 커넥트를 선택합니다.

  -. 프로보 커넥트, 말랑말랑 코딩, 카멜레온 코딩은 동일하게 연결합니다.

  -. 카멜레온 보드의 연결 포드를 확인 후 연결할 포트를 클릭합니다.


2.2. 프로그램 구성

엔트리에 연결되어 명령할 수 있는 하드웨어 제어 블록을 잠시 살펴보면 아래와 같습니다.


2.3. CPU블록 구성

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


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

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

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

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

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

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

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

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

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

2.4. 프로보 스크래치 사용자용

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블럭에서 '삐~익" 소리가 나며 자동으로 연결이 됩니다. 

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포트에 디지털 센서의 대표로 스위치 센서를 연결하고 아래와 같이 코딩합니다.


 

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



그런데, 스위치 누르면 15도 만큼 회전해야 하는데 누르고 있는 시간에 따라 더 많이 회전합니다.^^
 

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


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. 출력장치 기본 사용법

센서들을 이용하여 무대위의 스프라이트를 움직이는 활동은 별도의 전원연결(건전지 케이스)가 없이 메인보드만 PC에 연결해도 동작이 되지만, 출력장치를 이용할 경우에는 꼭 건전지 박스를 연결하고, 메인보드의 전원 스위치를 눌러 켜주어야 합니다.^^



 

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

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


1. LED블록, 진동블록 사용


스위치센서를 누르면 LED가 켜지고, 진동모터 블록이 진동하며, 누르지 않으면 동작하지 않는 프로그램을 작성해 보겠습니다.


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




시작 버튼을 클릭하고 스위치 센서를 눌렀다 떼었다하면서 LED 블럭의 동작을 확인합니다.

LED 블럭과 진동 모터 블럭의 출력 포트를 서로 바꾸어 연결한 후 역시 동작을 확인하여 봅니다.

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


2. DC모터 블럭 사용


입력포트 A1에 스위치센서를, M1 출력포트에 DC모터 블럭을 연결하고 아래와 같이 코딩합니다.



 
시작 버튼을 클릭하고 스위치센서를 눌렀다 떼었다하면서 DC모터 블럭의 동작을 확인합니다.


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


 

6. 엔트리 콘텐츠


6.1 (인공지능) 출입문 암호 제시 통과

엔트리로 어떤 콘텐츠를 만들까하다가 갑자기 예전 군대에서 사용하던 암구호가 생각났습니다^^


서로 정한 암구호를 말해야 차단기를 열어주는 상황을 만들어 봅니다.


일단 암구호를 정합니다.^^ 


질문 : 카멜레온

답변 : 코딩


컴퓨터에 마이크를 연결한 후, 엔트리의 인공지능 블럭 중 오디오 감지 블록을 추가하여 이용합니다. 

(인공지능 활용블록은 인터넷이 연결되어 있어야 정상적으로 동작합니다^^)


1. 컴퓨터에 마이크를 연결합니다.

 데스크탑에는 대부분 마이크를 별도로 연결해야 하는데 저는 뉴로캠을 주로 이용합니다. 뉴로캠에는 마이크가 내장되어 있어서 데스크탑에 연결 시 쉽게 비디오 감지블록과 오디오감지 블록을 이용하여 손쉽게 로봇을 동작시킬 수 있습니다.^^



2. 하드웨어 연결프로그램을 이용하여 오조봇과 엔트리를 연결합니다.

3. 인공지능 오디오 블록을 추가합니다.



4. 먼저 마이크가 컴퓨터에 정상적으로 연결이 되어 있는지 확인하는 프로그램을 작성합니다. 
 마이크가 연결되어 있지 않으면 연결을 확인하라는 메세지를 출력하고, 마이크가 연결이 되면, 연결되었다는 메세지와 함께 음성인식 단계로 넘어갑니다.

일부러 마이크(뉴로캠) 연결을 하지 않았다가 연결을 해본 실행화면입니다^^

5. 음성인식의 결과에 따라 동작하는 프로그램 작성
 "음성인식->텍스트로 변형->변형된 텍스트가 명령어와 같으면 해당 동작을 실행"
 음석을 정확하게 인식하는지 확인하기 위해 텍스트로 먼저 말하고, 암구호가 맞으면 차단기를 열고, 틀리면 열지 않도록 합니다.


6. 오조봇 감지하기
 그냥 바로 암구호를 대라고 하면 재미가 없으니 오조봇 이보와 함께 해봅니다.^^
 오조봇 이보는 라인을 따라가다가 앞에 장애물을 만나면 자동으로 멈추는 기능이 있습니다. (장애물이 있어도 계속 가려고 하면, 오조봇 이보 앱으로 '클래스룸' 모드를 해제하세요~)
 먼저, 차단기를 만들고, 차단기 동작하는 속도와 시간을 조절합니다.
 그리고, 카멜레온 보드에 적외선 센서를 추가하여 오조봇이 오는 것을 감지할 수 있도록 합니다.
 평상시에는 가만이 있다가 오조봇이 오면 "멈춰라" 한 뒤, 암구호를 묻고 맞으면 통과시키는 것이지요^^



아래 링크를 통해 엔트리 프로그램을 다운받으실 수 있습니다.^^

암구호가 틀리면 혼내주는^^ 동작도 추가할 수 있겠지요^^
이 외에도 다양한 활동을 해 봅니다.

7. 프로보 스크래치 콘텐츠


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

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


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

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


프로그램 실행

 -> 입력이 들어오면 켜기

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

 -> 위 내용 무한 반복



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

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

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


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

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


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

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

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




 

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


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


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





TOP