Processing with 인텔 Galileo

Page 1


1. ASCII 표를 이용한 키보드 INPUT. 우리는 챕터 3 까지 배워오면서 갈릴레오를 통해 결과물을 만들어내는 Output 에 대한 실험을 해 왔어요. 지금부터는 입력을 받는 Input 에 관한 몇 가지 실험을 해 볼게요. 그 중 가장 간단한 키 보드 입력에 대해 해보도록 할게요.

[파일-예제-08.Strings-CharacterAnalysis]를 선택하여 새로운 스케치 창을 열어 보세요. 열었다면 업로드 버튼을 눌러 갈릴레오가 스케치를 인식하도록 하세요.

이제 화면의 오른쪽 위에 있는 ‘시리얼 모니터’ 아이콘을 선택하세요. 시리얼 모니터 창에 각


각 문자 ‘k’, 숫자 ’7’ 그리고 특수 문자 ‘@’를 입력한 후, 창의 내용을 살펴보세요. 스케치의 ‘serial.read()’라는 기능을 통해 키보드에 있는 각 키를 입력 받을 수 있어요.

ASCII 코드 표는 문자를 숫자로 표현하기 위하여 정한 표인데, 십진수 0-127 에 대응하는 각각의 문자를 정의하여 컴퓨터나 통신 등에 사용돼요. 스케치로 ASCII 코드 표를 확인하려면, IDE 의 ‘파 일’ 항목 안의 ‘예제’를 선택한 후, ’04.Communication’ 속의 ‘ASCIITable’을 클릭하세요.


2. 푸시 버튼으로 LED 켜고 끄기(디지털 Input 실험) 이번에는 푸시 버튼을 통해 LED 를 켜고 끄는 작업을 해볼 예정이에요. 디지털 정보는 1 과 0 으로 모든 정보를 표현해요. 우리는 그래서 1 을 ‘High’, 0 을 ‘Low’라고 부르기도 하지요. 우리는 High 와 Low 를 체험해보기 위해 브레드 보드를 이용한 간단한 디지털 실험으로 푸시 버튼을 사 용해보려고 해요.

▲ 회로도 회로도를 참고하여 푸시 버튼을 브레드 보드에 연결하세요. 단 푸시 버튼의 경우, 핀 두 개가 서 로 짝으로 연결되어 있으니 주의하세요.


서로 연결되지 않은 두 핀 중, 하나를 점퍼선을 이용하여 갈릴레오의 5V 와 연결하세요. 나머지 핀 은 동시에 두 가지와 연결 되요. 먼저 점퍼선으로 바로 갈릴레오의 2 번 핀에 연결하세요. 다음은 1K 옴 저항을 거쳐 점퍼선으로 갈릴레오의 GND 에 연결하세요.

여기서 사용된 1KΩ(옴) 저항을 ‘풀다운 저항’이라고 해요. 그냥 보기에는 ‘풀다운 저항’이 없 어도, ‘푸시 버튼’을 누르면 ‘High’가 되고, 떼면 ‘Low’가 되는 것 같죠? 그러나 실제로는, ‘풀다운 저항’이 없으면 켜고 끄는 기능은 동작하지만 매우 불안한 상태가 되 요. 쉽게 설명하자면 High 상태인지 Low 상태인지 갈릴레오가 제대로 파악하지 못하는 상태가 되 는데 이 상태를 ‘플로팅’이라고 해요. 그렇기 때문에 ‘풀다운 저항’을 사용해야 하고 플로팅 상태를 꼭 피해야 해요.


. 메뉴예제 [파일-예제-02.Digital-Button]을 선택하세요. 열었다면 업로드 버튼을 눌러 갈릴레오가 스케치 인식을 하도록 하세요. 이제 브레드 보드의 푸시 버튼을 눌렀다 떼었다를 반복하면서, 갈릴레오상의 LED 가 반응하는 모 습을 확인해보세요. 스케치에 있는 ‘digitalRead()’기능이 ‘푸시 버튼’의 Input 을 받는 역할 을 해요.

3. 가변 저항기로 LED 밝기를 조절하자(아날로그 INOUT 실험) 스피커의 소리 크기를 조절하는 원리가 무엇일까요? ‘가변 저항기’를 사용했기 때문이죠. 갈릴레 오는 ‘가변저항기’의 손잡이를 돌려서 조절되는 값을 인식해요. 디지털 값이 아니라 아날로그 값인 거죠. 갈릴레오 보드 위에는 아날로그 Input 신호만 인식하는 6 개의 핀들이 있어요.


▲ 회로도 회로도를 참고하여 브레드 보드 위에 가변 저항기를 꽂아요. 점퍼선을 이용하여 한 쪽은 가변 저 항기의 가운데 핀에, 반대편은 갈릴레오의 아날로그 전용 Input 핀들중의 하나인 A0 핀에 연결하 세요. 가변 저항기의 나머지 두 핀은 ‘점퍼선’을 이용하여 갈릴레오 보드의 5V 핀과 GND 핀에 연결하세요.

갈릴레오 보드 안에는 가변 저항기기의 반응을 읽는 ADC 라는 전자 소자가 있어, 0 에서 5 볼트 사이의 아날로그 전압 INPUT 값을, 0 에서 1023 까지의 디지털 값으로 바꿔줘요. 왜냐하면, 갈릴레 오의 두뇌에 해당하는 CPU 는 디지털 값만 인식할 수 있기 때문이죠.


다시 갈릴레오로부터 파워를 받기 위해 위와 같이 [IOREF]위치의 점퍼선 연결을 해제하세요.

메뉴에서 [파일-예제-03.Analog-AnlogInput]을 선택하세요. 새로운 스케치창이 열렸다면, 업로드 버튼을 눌러 갈릴레오가 스케치를 인식하도록 하세요. 이제 브레드 보드의 가변 저항기 손잡이를 천천히 돌리면, 갈릴레오상의 LED 의 깜빡이는 속도가 변하는 것을 확인할 수 있어요. 참고로 스케치의 ‘analogRead()’기능이 ‘가변 저항기’의 Input 을 받는 역할을 해요.

4. 센서의 이해와 조광 센서로 실험하기 앞서 우리는 ‘가변 저항기’를 이용해, 손으로 직접 LED 의 밝기를 조절 할 수 있었어요. 이번에는사람 이 직접하지 않고, 주변 상황에 반응하는 실험을 하기로 해요. ‘갈릴레오 스타터킷’에 포함된 ‘센서’는


주변 상황에 반응하도록 만든 전자 소자에요. ‘조광센서’를 이용하면, 주변의 발기 정도에 따라 갈릴 레오가 반응하도록 만들 수 있어요.

▲ 회도로 기본적인 연결은 ‘가변 저항기 ‘실험할 때 갈릴레오에 꽂혀있던 ‘점퍼선’들을 그대로 이요하도록해요. 하지만 회로도는 꼭 참고하세요. 회로도를 참고하여 브레드 보드 위에 ‘조광 센서’를 꽂으세요.


갈릴레오의 5V 핀과 GND 핀에 연결된 점퍼선들을 각각 조광 센서의 VCC 핀과 GND 핀에 연결하세 요. 갈릴레오의 A0 핀에 있는 점퍼선은, 조광센서의 OUT 핀에 연결하면 되요.

이번

실험에

대한

소스코드는

예제에

없어요.

그래서

www.kidspc.co.kr

사이트에서

‘LIGHTSENSOR.ino’ 파일을 다운로드 받아야 해요.

메뉴 항목에서 [파일-열기]를 선택한 후, 다운받은 ‘LIGHTSENSOR.ino’ 파일을 선택하고 ‘확인’을 클릭 해요. ‘확인’을 클릭하면 다음 사진과 같은 메시지가 나와요.


‘확인’을 클릭해요. 소스 파일은 반드시 소스 파일과 동일한 이름의 폴더 안에 들어 있어야 해요. 자 이제 업로드 버튼을 눌러 갈릴레오가 스케치를 인식하도록 하세요. 그 다음 시리얼 모니터버튼을 클릭해서, 주변의 빛의 세기에 따라 ‘조광 센서’가 어떻게 반응하는지 보기로 해요.

실험은 커튼이나 블라인더를 이용할 수도 있고, 두 손으로 조광 센서를 감싸고 풀고를 반복하여확인 할 수 있어요. 참고로 ‘Serial.println()’기능은, ‘조광 센서’가 받은 빛의 밝기에 대한 INPUT 값을 ‘시리얼 모니터’로 OUTPUT 하는 역할을 해요. 이 명령어를 ‘Serial.print()’로 바꾸면 어떻게 될까요? 읽기가 불편하죠? 그래요, ‘Serial.println()’ 명령어는 밝기 값을 보여준 후 키보드의 ‘Enter’와 같은 기능이 추가된 것이에 요.


이제까지 여러분은, 갈릴레오로 할 수 있는 매우 초보적인 실험을 몇 가지 해 보았어요. 이제 중급에 도전할 준비가 되셨나요? 또 한가지 중요한 것이 있어요. 선진국에서는 정부가 나서서 초등학교에서부터 컴퓨터 언어를 수업 한다고 해요. 자동차를 만드는 BMW 라는 회사의 소프트웨어 엔지니어 비율이 전체직원의 50%를 차 지하고 있다는 사실이 그 이유를 잘 설명할 수 있어요. 2013 년 노벨 화학상의 경우, 화학 이론이나 실험이 아닌 시뮬레이션 프로그램을 개발한 개발자들이 수상하였다고 해요. 우리들이 자라서 활동할 미래의 세상은, 지금보다 훨씬 더 소프트웨어를 잘 개발하는 인재를 원할 거에요. 갈릴레오 IDE 에 사용된 컴퓨터 언어는 ‘프로세싱’이라고 해요. 우리에게 맞는 컴퓨터 언어를 먼 저 익 히면 어떤 프로그램의 개념도 더 쉽게 이해할 수 있고, ‘프로세싱’도 좀더 쉬워질 수 있을 거에요. 그 래서 다음 장부터는 신나게 즐기면서 따라 할 수 있는, 어린이용 컴퓨터 언어인 ‘스크래치’를 NUC 를 이용해서 배워 보도록 해요.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.