슬라이드 1

Similar documents
PowerPoint 프레젠테이션

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로

RVC Robot Vaccum Cleaner

슬라이드 1

1

슬라이드 1

View Licenses and Services (customer)

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

ISP and CodeVisionAVR C Compiler.hwp

Microsoft Word - PLC제어응용-2차시.doc

BY-FDP-4-70.hwp

Studuino소프트웨어 설치

IRISCard Anywhere 5

게임 기획서 표준양식 연구보고서

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

메뉴얼41페이지-2

System Recovery 사용자 매뉴얼

Windows 8에서 BioStar 1 설치하기

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

PowerPoint 프레젠테이션

Index 1. Intro Install Connect Scratch 1.4 (Offline Editor) Scratch 2.0 (Online Editor) Connect f

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

KMC.xlsm

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

SBR-100S User Manual

tiawPlot ac 사용방법

Office 365 사용자 가이드

Install stm32cubemx and st-link utility

Mango-E-Toi Board Developer Manual

<4F E20C7C1B7CEB1D7B7A5C0BB20C0CCBFEBC7D120B5A5C0CCC5CD20BAD0BCAE20B9D720B1D7B7A1C7C120B1D7B8AEB1E F416E616C F616E645F47726

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

Microsoft Word - Armjtag_문서1.doc

윈도우즈프로그래밍(1)

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

1

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

PowerPoint 프레젠테이션

Microsoft Word - logic2005.doc

GBF-1257B 카스블루투스체지방계앱사용매뉴얼

Oracle VM VirtualBox 설치 VirtualBox에서 가상머신 설치 가상머신에 Ubuntu 설치

Infinity(∞) Strategy

Microsoft PowerPoint - gnu-w06-python_[실습]_day13-turtle-shape

과목 1 컴퓨팅적사고력과문제해결 1. 친구들의키를비교해보았다. < 보기 > 를참고하여 < 문제 > 의빈칸을완성하시오. (10 점 ) < 보기 > < 키를비교하여서술한내용 > < 문제분해 > 가. 초록이는노랑이보다키가 3cm 더크다. 나. 우리반에서는초록이가제일키가크다.

<4F B8A620C0CCBFEBC7D120C8B8B7CE20C0DBBCBAC0C720B1E2C3CA2E687770>

NTD36HD Manual

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

PowerPoint 프레젠테이션

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

SMT Kor.indd

Microsoft PowerPoint - e pptx

RS- 232, RS485 FND Display Module NET-SFND-4-23A RS-232, RS485 FND Display Module NET-SFND-4-23A MANUAL (Rev 1.0) Net-Control http

Microsoft Word - src.doc


차례보기 Easy Setting Box 소개 03 Easy Setting Box 란 03 Easy Setting Box 주요기능 04 사용요구사항 Easy Setting Box 설치 / 제거하기 05 Easy Setting Box 설치하기 08 Easy Setting

Endpoint Protector - Active Directory Deployment Guide

실험 5

*Revision History 날짜 내용 최초작성 Tel Fax [2] page

마지막 변경일 2018년 5월 7일 ** 이항분포와 정규분포의 관계 ** Geogebra와 수학의 시각화 책의 3.2소절 내용임. 가장 최근 파일은 링크를 누르면 받아 보실 수 있습니다.

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

MLB 2K9_PS3_MN

01장

OCW_C언어 기초

윈도 모바일 6.1을 OS로 사용하는 스마트폰(옴니아2 등)에서의 Tcl/Tk의 사용

Windows Server 2012

MF5900 Series MF Driver Installation Guide

Microsoft Word - Lab.4

Microsoft PowerPoint - chap06-2pointer.ppt

목 차 1. 드라이버 설치 설치환경 드라이버 설치 시 주의사항 USB 드라이버 파일 Windows XP에서 설치 Windows Vista / Windows 7에서 설치 Windows

RealDSP UT 프로그램 메뉴얼

Microsoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc

슬라이드 1


Microsoft PowerPoint - logo_2-미해답.ppt [호환 모드]

Microsoft PowerPoint - es-arduino-lecture-03

포인팅 장치 및 키보드

Xcrypt 내장형 X211SCI 수신기 KBS World 채널 설정법

슬라이드 1

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

SBR-100S User Manual

EEAP - Proposal Template

UI TASK & KEY EVENT

Contents 01. 안전을 위한 주의 사항 터치형 멀티 조절기 각부 명칭 터치형 각방 조절기 각부 명칭 조절기 난방/정지 하기 조절기 외출 /해제하기 조절기 반복난방 하기 조절기 예약난방 /

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

JAVA 플랫폼 개발 환경 구축 및 활용

Studuino 블록 프로그래밍 환경 입문 가이드 후편

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

MACH3 Jog Pendant User Manual Draft Revision th of November 2015 By TECHDINE

vRealize Automation용 VMware Remote Console - VMware

PowerPoint 프레젠테이션

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

(b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로

Microsoft Outlook G Suite 가이드

Transcription:

목차 1. 로킷브릭 (Rokit Brick) 사용하기 0장. 프로그램소개 1장. 블록, 스크립트, 스프라이트 2장. 스크립트만들기 3장. 변수와반복그리고조건 4장. 그림그리기와스프라이트조종하기 3 9 20 31 48 2. 디바이스제어하기 1장. 인벤터내장보드시뮬레이션 전방센서값점검하기 2장. 장치연동게임시뮬레이션 로킷시뮬레이터게임 3장. 로봇구동시뮬레이션 로킷시뮬레이터로봇시뮬레이션 4장. 자신만의시뮬레이터만들기 로킷시뮬레이터응용시뮬레이터 60 75 90 107 3. 로킷기본모델구동하기 0장. 로봇이란? 1장. 간단히로봇조립방법익히기 / 지능로봇조립 2장. 어보이더 3장. 바닥감지로봇 4장. 라인트레이서 116 120 141 148 155

1. Rokit Brick 사용하기 0 장. 프로그램소개 3

01. 스크래치란? Java 와 C++ 같은대부분의프로그래밍언어는텍스트기반으로구성되어있기때문에 초보자들이접근하기에많은어려움이있습니다. 하지만미국 MIT 대학의미디어랩 (Media Lab) 에서개발한스크래치 (Scratch) 는 시각화된프로그래밍언어로서보다쉽고재미있게프로그래밍을배울수있도록하였습니다. 본래스크래치는아이들을위한교육용으로제작되어졌으며컴퓨터프로그래밍에관한 풍부한경험을쌓을수있도록하는데그목적을두고있습니다. 하지만컴퓨터프로그래밍에관심이있는일반입문자에게도적극권장합니다. Arduino 와같은 Text 기반의프로그램도있지만, 문법적인기초지식이필요하여다루기 어렵기때문에최근에 Scratch 방식으로제어되는 Scratch for Arduino, Snap for Arduino 등이 만들어지고있습니다. 이러한프로그램도모두 Scratch 를기반으로프로그래밍하게하는유사프로그램입니다. MIT : Media Lap Scratch : 상상, 공유프로그래밍 4

02. Rokit Brick 이란? Rokit Brick 은 Snap4Arduino 를기반으로기존 Scratch 프로그램에로봇, 드론등다양한제어 기능등이합쳐져개발된 Scratch 방식의 SW 이며, 사용방법은 Scratch 와동일합니다. 로킷스마트와드론파이터등의버튼들을통해 HW 를실시간으로 Scratch 형식으로제어할수 있게됩니다. 5

03. Rokit Brick 실시 Rokit Brick 은간단히프로그램폴더를원하는경로에위치시키고 Rokitbrick.exe 실행파일을 클릭하면됩니다. 6

04. Rokit Brick 로봇제어를위한인벤터보드와 PC 연결 Rokit Brick 프로그램으로인벤터보드를제어하기위해서는다음과같이연결이필요합니다. 1. 인벤터보드의딥스위치를 모두올립니다. 2. Downloader 와 Board Cable 을 연결합니다. 1 번, 2 번, 3 번모두 UP 3. Downloader 와 NEXI Cable 을 연결합니다. 4. 인벤터보드와컴퓨터를 연결합니다. 인벤터보드의 UART 에 Board Cable 연결 7

05. 로킷브릭 (Rokit Brick) 과인벤터보드 SW Connect PC 와인벤터보드를연결한후제일먼저 USB 케이블드라이브설치를확인하여야합니다. (www.rokitarduino.org 참조 ) 드라이브설치및 COM 번호를확인한후로킷브릭 (Rokit Brick) 의로킷스마트블록카테고리로 가면보드에연결하기가나옵니다. 8

1. Rokit Brick 사용하기 1 장. 블록, 스크립트, 스프라이트 9

1.1 Rokit Brick 구성 - 화면구성 기본적인모든메뉴와화면구성은 Scratch 와유사합니다. 비교하여동작해보면보다쉽게빨리적응할수있습니다. Scratch 유저라면바로구동해보십시오. 블록팔레트 메뉴 탭목록 시작 / 중지 무대확대 / 축소 무대 (Stage) 스크립트창 스프라이트목록 10

- 메뉴 / 설정 메뉴를통해파일을읽고쓰기하면됩니다. 열기, 저장하기는 PC 내부로저장되며, 외부로파일을공유하려면가져오기, 블록내보내기등을통해.XML 파일형식으로활용합니다. 언어는원하는형식으로선택할수있습니다. 11

1.2 블록, 스크립트, 스프라이트란? Rokit Brick 에는프로그래밍을할때쓰이는기본단위가있습니다. 블록과스크립트, 그리고스프라이트에대해알아봅시다. 블록 하나하나낱개의단위를 블록 이라합니다. 블록마다고유색상을가지고있어, 색상을기억하고 있으면프로그래밍하기가수월해집니다. 스크립트 각각의블록을스크립트창으로드래그하여두개 이상의블록이합쳐진것을 스크립트 라고부릅니다. 스프라이트 스프라이트란 Rokit Brick 의핵심개체이며여러가지의 스프라이트가모여하나의프로젝트를구성합니다. 모형부터소리까지전반적인역할을주관하게됩니다. 12

2.1 햇블록사용하기 모자처럼생긴햇 (Hat) 블록은명령을시작하게하는시작블록입니다. 클릭했을때 햇 (Hat) 블록 마우스를이용하여왼쪽클릭후드래그하여스크립트창에원하는위치에놓으면됩니다. 동작블록군에서다른하나의블록을같은방법으로햇블록아래에붙여봅니다. 이렇게모여지면하나의스크립트가됩니다. 13

2.2 동작블록사용하기 실제스프라이트의이미지를움직이게하는블록을동작블록이라하며, 햇블록과함께 사용하여야동작이가능합니다. 햇블록과같이동작블록을연결하고어떻게동작하는지실행하여봅시다. 14

2.3 무한반복블록사용하기 무한반복블록은안에들어있는블록들을무한반복시키거나무한반복블록안에있는 조건블록을지속적으로사용하게해주는블록입니다. 무한반복블럭같이동작블록을연결하고어떻게동작하는지실행하여봅시다. 15

3.0 예제및연습문제다운로드 교재에서요구하는예제와연습문제는로보링크기술지원홈페이지 rokitarduino.org로접속하셔서오른쪽상단의 DOWNLOADS ( 다운로드 ) 메뉴를클릭, SW Education kit의 Rokit Brick 예제및연습문제스크립트파일다운로드하기에서통합파일을다운로드받으시면됩니다. rokitarduino.org 로접속 상단 DOWNLOADS 클릭 SW Education kit 의하위메뉴에서통합파일을다운로드 16

3.1 예제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 예제 1 : 아래두가지스크립트는클릭할때마다스프라이트가회전할수있도록해줍니다. 두스크립트를실행해보고어떤차이가있는지확인해보세요. 예제 2 : 키보드의왼쪽화살표키를누르면스프라이트가왼쪽으로회전하고오른쪽화살표 키를누르면오른쪽으로회전할수있도록해봅시다. 예제 3 : 키보드의왼쪽화살표키를누르면스프라이트가왼쪽으로이동하고오른쪽화살표 키를누르면오른쪽으로이동하게해봅시다. 이때스프라이트가이동하다가스테 이지의벽을만나면더이상이동하지않고멈추게합시다. 예제 4 : 새로운스프라이트추가하기 버튼을눌러두개의스프라이트를스테이지에나타 나게해봅시다. 스페이스키를눌렀을때첫번째스프라이트는회전을하고두번 째스프라이트는좌우로 ( 혹은아래위로 ) 반복해서움직이게해봅시다. 첫번째스프라이트 두번째스프라이트 17

3.2 연습문제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 1. 옆의그림은동작카테고리에서발견할수있는블록들입니다. 두블록이갖고있는공통점과차이점엔무엇인지조사해보도록합시다. 2. 스프라이트를키보드의화살표키에따라움직일수있게해봅시다. 위쪽화살표를누르면위쪽으로이동하고아래쪽화살표를누르면아래쪽으로이동하며왼쪽화살표를누르면왼쪽으로이동하고오른쪽화살표를누르면오른쪽으로이동하게스크립트를작성해봅시다. 3. 옆의그림처럼 모양 탭을클릭한후붓모양버튼을클릭하여스프라이트편집기에서동그란원을그려서공모양의새로운스프라이트를추가합니다. 그다음이스프라이트가스테이지이곳저곳을다닐수있도록합니다. 벽에닿을때에는반대편방향으로튕겨야합니다. 18

4. 스프라이트를 2개만들어줍니다. 키보드를아무거나누르면두개의스프라이트가동시에움직이기시작하며자유롭게스테이지이곳저곳을다니게하여봅시다. 첫번째스프라이트의움직임은느리게하고두번째스프라이트의속도는좀더빠르게해줍니다. 두스프라이트모두벽을만나면다른방향으로튕겨서움직여야합니다. 5. 정지해있던스프라이트에마우스포인터를갖다대면계속회전할수있도록해봅시다. 이때 관찰 카테고리의 마우스의 X좌표 블록을사용하여스프라이트에마우스포인터가가까워지면회전하는속도가느려지고멀어질수록빠르게돌게하여봅시다. 19

1. Rokit Brick 사용하기 2 장. 스크립트만들기 20

1.1 소리와모양파일가져오기 소리파일을특정한시점에재생되도록하면, 스크립트와스프라이트의효과를더할수있습니다. 파일에서소리를 선택합니다. 소리파일을 선택합니다. 클릭하면 Dog1 의소리가재생합니다. 소리내기블록을넣은후빈칸에해당파일은선택합니다. 클릭하여실행해보세요. 21

1.1 소리와모양파일가져오기 모양파일은스프라이트에자신이원하는이미지를불러와제어할수있으며, 자신이직접만든 파일도불러올수도있습니다. 이번챕터에서는제공되는이미지를선택해봅니다. 파일에서모양을 선택합니다. 모양에서 dog1 을 선택합니다. 무대에 dog1 의이미지 ( 스프라이트 ) 가 나타났습니다. 22

1.2 스프라이트새로추가하기 자신이직접만들거나원하는파일을불러올수도있습니다. 이번에는자신이원하는이미지를 가져오거나, 또직접그린것도추가해보도록하겠습니다. 스프라이트의이름도유저가변경가능합니다. 새로운스프라이트추가하기 새로운스프라이트그리기 파일 가져오기 원하는이미지클릭하시면유저가원하는이미지 ( 스프라이트 ) 로변경이가능합니다. 유저가스프라이트를직접그릴수도있습니다. 23

2.1 소리내기블록사용하기 예제의소리파일을가지고와서주인공이낼수있는효과를줄수있습니다. 클릭하면강아지가 멍멍 소리를내며 10 만큼앞으로이동합니다. 직접녹음한소리나원하는음악등의파일을가져와활용할수있습니다. 24

2.2 말풍선블록사용하기 말풍선블록은소리블록과다르게눈으로볼수있는말풍선이스프라이트에추가되는블록이며, 말풍선모양이시간과함께나타났다가사라지는자막같은특별한효과를줄수있습니다. 에입력한단어가 2초동안말풍선에나타납니다. 에입력한단어를말풍선에나타납니다. 에입력한단어가 2초동안생각풍선에나타납니다. 에입력한말이생각풍선에나타납니다. 아래의이미지는말풍선과생각풍선을사용한예입니다. 말풍선 25 생각풍선

3.1 예제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 예제 1 : 세개의스프라이트를만들어줍니다. 각각의스프라이트는스테이지이곳저곳을자유롭게다닐수있도록합니다. 이때 방송하기 블록을사용하여첫번째스프 라이트가움직이기시작할때다른스프라이트들도동시에움직임을시작할수있 도록해봅시다. 첫번째스프라이트두번째스프라이트세번째스프라이트 예제 2 : 프로젝트메뉴의 소리 목차를클릭하면옆의그림처럼가져올수있는소리목록을볼수있습니다. 여기서 dog1.wav 파일을클릭하여불러온후에키보드의 d 키 를누르면이소리파일이재생될수있도록합시다. 도움말 : 소리탭을클릭하여현재불러온소리파 일목록에사용자의다른폴더에있는 *.wav 파일 을드래그하여소리파일을추가할수있습니다. 26

예제 3 : 소리 카테고리의음연주블록을사용하여스프라이트를클릭했을때 도레미파솔라시도 연주가시작되도록합시다. 도움말 : 61, 63, 66, 68 음은반음입니다. 따라서이예제에는사용되지않았습니다. 음계의숫자가커질수록음이높아지고작아질수록음이낮아집니다. 예제 4 : 키보드의방향키중왼쪽화살표를누르면스프라이트가왼쪽으로이동하면서 LEFT! 라는메시지가담긴말풍선이스프라이트에나타나고오른쪽화살표키를 누르면스프라이트가오른쪽으로이동하면서 RIGHT! 라는메시지가담긴말풍선이 스프라이트에나타나도록해보세요. 27

예제 5 : 스크립트를클릭할때마다 10 도씩시계방향으로스프라이트가회전하도록합니다. 이때말풍선으로스프라이트가자신의회전각도를알려주도록스크립트를작성해 봅시다. 도움말 : 보라색말풍선만들기블록에동작카테고리에있는 방향 리포터블록을결합하였습니다. 이렇게결합시키면말풍선에는스프라이트의회전방향이각도로표시됩니다. 예제 6 : 키보드의왼쪽과오른쪽방향키로스프라이트를왼쪽과오른쪽으로이동시킵니다. 이때스프라이트에말풍선으로스프라이트의 X 좌표값을항상나타낼수있도록 스크립트를작성해봅시다. 도움말 : 동작카테고리에있는 X 좌표 블록을말하기블록에결합하였습니다. 스 프라이트를이동시키면서말풍선에나타난값을관찰해보면 5 씩증가하거나감 소하는것을볼수있습니다. 28

3.2 연습문제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 1. 소리카테고리에있는음계연주블록을사용해서간단한동요나음악을연주할수있도록스크립트를작성해봅시다. 이때아래블록을이용하여빠르기를조절해연주하여보고, 느리게도연주하여봅시다. 2. 스크립트를클릭하면도레미파솔라시도가계속해서연주됩니다. 이때 q 키를누르면 연주속도가느려지고 w 키를누르면원래의연주속도가되고 e 키를누르면연주속 도가빨라지게해봅시다. 3. 키보드의방향키로스프라이트를위, 아래, 오른쪽, 왼쪽으로조종하도록스크립트를작성합니다. 이때말풍선으로이동중인스프라이트의좌표를표시합시다. X좌표 ( 가로 ) 방향으로움직일때에는 X좌표값이말풍선에표시되고 Y좌표 ( 세로 ) 방향으로움직일때에는 Y좌표값이표시되게합시다. 29

4. 고양이들의대화 말풍선넣기 : 옆그림처럼스테이지에스프라이트 2개를놓습니다.(cat2.gif 사용 ) 왼쪽과오른쪽고양이는각각다른스프라이트입니다. 왼쪽의고양이가말을걸면잠시후에오른쪽의고양이가대답을합니다. 제어카테고리에있는 방송하기 블록을이용하여두스프라이트가말을주고받을수있도록합시다. w,a,s,d 키를누르면각각키에따라왼쪽고양이가다른말을하고이말에따라오른쪽고양이도각각다른대답을할수있도록스크립트를만들어봅니다. 5. 고양이들의대화 소리내기 : 고양이들의대화가완성되었다면말풍선이생길때마다고양이울음이나오도록합시다. 프로젝트메뉴의 소리 목차를클릭하여왼쪽스프라이트에는 Kitten.wav 파일을로드하여울음소리로사용하고오른쪽스프라이트에는 Meow.wav 파일을로드하여울음소리로사용합니다. 30

1. Rokit Brick 사용하기 3 장. 변수와반복 그리고조건 31

1.1 변수란? 변수란값이변하는수를말합니다. 말그대로지금의값을다른값으로마음대로바꿀수있다는것이변수입니다. 변수를사용하려면먼저이름을지어야하며이런이름들을명칭이라고합니다. 스크래치자체에서도변수블록을생성할수있으며명칭을직접만들어사용할수 있습니다. 변수를왜사용해야하나요? 이미지의동작도숫자의변화에의해변화되며, 로봇, 드론의모든값들도숫자의값으로움직입니다. 그리고센서의값들도감지된정도에따라변화하는속성을가지고있습니다. 이러한모든것을위해서변수를사용하여야합니다. Sum이라는변수를만들고변수의값을바꾸는예 32

1.2 변수블록만드는법 변수만들기 변수블록탭을클릭하여변수만들기버튼을누르고원하는변수이름을적어줍니다. 여기서는 SUM 이라는변수를만들어보겠습니다. 다음따라해보기를통해변수의활용을잘익혀보세요. 따라해보기 키보드로숫자변수증감시키기 33

변수블록으로들어가해당블록을놓아준후 1,-1 을각각넣어주세요. 만들어진 SUM 이라는변수를가져오세요. 도움말 : 값에대한정확한모니터링 (monitoring) 은스테이지의변수값컨트롤보다말풍선으로확인하는것이좋습니다. 값을줄일때에는 부호를붙여야합니다. 34

형태블록에서아래와같이아래놓아줍니다. 4 번에준비했던 SUM 변수를 안녕 안에넣어줍니다. 35

제어블록에서아래와같이놓아주세요. 실행해보기 이제키를눌러서숫자를증가및감소시켜보세요. 36

2.1 유한 ( 조건 ) 반복블록사용하기 무한반복과유사하지만, 조건이있기떄문에조건을만족하지못하면반복문밖으로 나가버리는차이가있습니다. 다음따라해보기를통해유한반복블록의용도를알아봅시다. 따라해보기 반복블록을사용하여왕복운동하기 스프라이트를클릭했을때유한반복을사용하여앞으로뒤로왕복운동하는스프라이트를 만들어봅시다. 제어블록에서아래와같이놓아주세요. 동작으로들어가동작블록을놓아줍니다. 37

형태블록에서아래와같이아래놓아줍니다. 대기할수있는기다리기블록을놓아줍니다. 38

유한반복블록에넣어준후 90 도회전과 1 초기다리기블록을뒤에놓아줍니다. 실행해보기 스프라이트를클릭하여실행시켜보세요. 39

2.2 조건 (IF) 블록사용하기 조건블록은프로그램에서가장중요한판단을하는기능을가진블록입니다. 추후지능로봇이나판단하는프로그램작성을위해필요합니다. 다음따라해보기를통해조건블록을익혀보십시요. 따라해보기 스프라이트크기증가후돌아오기 스프라이트를클릭했을때마다스프라이트의크기가조금씩커지도록스크립트를작성해봅시다. 만약점점커지다가크기가 2배가넘게되면원상태로줄어들어야합니다. ( 처음스프라이트를불러온경우의크기는 100% 입니다.) 제어블록에서아래와같이놓아주세요. 만약, 아니면이라는조건블록을붙여넣습니다. 40

연산으로들어가해당부등호연산을넣어줍니다. 형태로들어가서아래의블록을넣어주세요. 이제화살표를눌러화살표의크기를키워보세요. 도움말 : 크기가 200%( 두배 ) 이상넘는것을막기위해서연산카테고리의부등호블록을사용하였습니다. 현재스프라이트의크기를알려주는 크기 리포터블록은형태카테고리에서발견할수있습니다. 스크립트를보면스프라이트를클릭할때마다 10% 씩커짐을알수있습니다. 41

2.3 연산블록 ( 부등호와반올림 ) 사용하기 스프라이트를클릭했을때마다스프라이트의크기가조금씩커지는범위를부등호에서 바꿔보고반올림블록에대하여알아봅시다. 따라해보기 부등호의범위지정및반올림사용 부등호의범위에따라화살표의크기의범위가 점점늘어나는것을알수있습니다. 반올림은안에숫자가소수점일때반올림해주는기능의블록을말합니다. 42

3.1 예제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 예제 1 : 변수카테고리에서 sum 이라는변수를만듭니다. 키보드의 w 키를누르면 sum 이 1 씩증가하고 s 키를누르면 1 씩감소하게해봅시다. 이때변수값은스프라이트 의말풍선으로표시해주세요. 도움말 : 값에대한정확한모니터링 (monitoring) 은스테이지의변수값컨트롤보다 말풍선으로확인하는것이좋습니다. 값을줄일때에는 부호를붙여야합니다. 예제 2 : 프로젝트메뉴의 모양 을클릭해서 twinarrow.png 를스프라이트로사용합니다. 이스프라이트를왼쪽화살표키를눌렀을때에는왼쪽으로서서히 90 도만큼회전 시키고오른쪽화살표키를눌렀을때에는오른쪽으로서서히 90 도회전할수있 도록합시다. twinarrow.png 도움말 : 예제에서는 5 도씩회전하므로 18 번반복해서 90 도만큼회전하였습니다. 반 복횟수와회전각도를조절하면좀더빠르게돌거나느리게돌게할수있을것입 니다. 43

예제 3 : 스프라이트를클릭했을때마다스프라이트의크기가조금씩커지도록스크립트를작성해봅시다. 만약점점커지다가크기가 2 배가넘게되면원상태로줄어들어야 합니다. ( 처음스프라이트를불러온경우의크기는 100% 입니다.) 도움말 : 크기가 200%( 두배 ) 이상넘는것을막기위해서연산카테고리의부등호블록을사용하였습니다. 현재스프라이트의크기를알려주는 크기 리포터블록은형태카테고리에서발견할수있습니다. 스크립트를보면스프라이트를클릭할때마다 10% 씩커짐을알수있습니다. 예제 4 : 공모양의스프라이트가스테이지이곳저곳을빠르게왔다갔다합니다. 이때마우스포인터로빠르게움직이는공을잡을수있도록합니다. 마우스포인터와공모 양의스프라이트가만나면잠시멈추게함으로공을잡은효과를낼수있도록합니 다. greenball.png 도움말 : 조건블록에관찰카테고리의 ~ 에닿았는가 블록을결합하였습니다. 마우스포인터와스프라이트가만났다면 1 초동안공의움직임을멈추게해줍니다. 44

예제 5 : 마우스로스테이지이곳저곳을클릭하면 X 좌표와 Y 좌표값이스테이지변수컨트롤에나타내게하여봅시다. 1 2 3 도움말 : 스테이지좌표값을얻기위해서는먼저 X와 Y좌표값을저장할변수를만들어줍니다. 이후다음과같은단계가필요합니다. 1) 이변수값들을 0으로초기화합니다. 2) 조건문에 마우스를클릭했는가? 블록을결합하여마우스를클릭했는지를검사하고 3) 클릭이되었으면마우스의좌표값을변수에넣어줍니다. 이때마우스의좌표값은소수점자리까지계산되어나오므로연산카테고리의반올림블록을이용하여정수로나타내주었습니다. 45

3.2 연습문제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 1. 아래리포터블록들은어떤특정한값들을변수에저장해주는역할을합니다. 블록들마다 어떤값을저장하고있는지조사하여보고이값들을정수형으로표현하고자할때반올 림블록에결합할필요가없는블록은어떤것들이있는지확인해보세요. 리포터블록종류값의의미반올림블록필요유무 2. 스프라이트가마우스포인터를따라이동하도록스크립트를작성합니다. 이때마우스를클릭하면스프라이트가 50% 정도부풀어오르고그렇지않은경우에는원상태로돌아오도록합니다. 마우스포인터가스테이지의범위를넘어가면스프라이트는스테이지의벽근처에머물러있고더이상따라가거나사라져서는안됩니다. 46

3. 각각두개의스프라이트를만든후 twinarrow.png와 twinarrow2.png파일을사용하여옆그림과같이스프라이트를배치해줍니다. 파란색화살표는첫번째스프라이트이고주황색화살표는두번째스프라이트입니다. 스페이스키를한번누를때마다파란색화살표가 360 도회전하고나면주황색화살표가 6도씩회전하여시계의분침과초침역할을하게스크립트를작성합시다. 4. 스테이지안에서스프라이트가제자리에서회전을합니다. 회전방향은동일합니다. 키보드의왼쪽방향키를누르면회전속도가느려지고오른쪽방향키를누르면회전속도가빨라지도록해봅시다. 햇블록대신조건블록을사용하도록하며회전각도의크기로속도를조절할경우각도값이 0보다작아지지않도록유의합니다. 5. 키보드의방향키를사용하여스프라이트를스테이지내에서위아래와왼쪽오른쪽으로자유롭게조종할수있도록합시다. 햇블록은사용할수없으며조건문을사용하여스크립트를작성해야합니다. 스크립트를실행하고난후에햇블록을사용했을때와조건문을사용했을때어떤차이가있는지이야기해봅시다. 47

1. Rokit Brick 사용하기 4 장. 그림그리기와 스프라이트조종하기 48

1.1 펜블록사용하기 펜블록은선이나도형등의그래픽을그릴수있는 11 개의코드블록으로구성되어있습니다. Rokit Brick 프로그램에서그림을그릴때는그림판을이용하거나펜블록을이용하는두가지 방법이있습니다. 그림판에서그린그림은스프라이트나배경그림을그릴때사용하지만, 펜 블록을이용한그림은무대에서스프라이트가그림을그리게하는방법입니다. 그림을그리기위해펜내리 기지정하기 ( 그리기허용 ) 그림그릴때사용하는색상선택하기 펜의색을입력한수로정하기 펜의음영 ( 명암 ) 을입력한수만큼정하기 펜의굵기를입력한수만큼정하기 펜으로그린그림, 스탬프지우기 펜으로그림을그리지않기위해펜올리기지정하기 펜의색을입력한수만큼바꾸기 펜의음영 ( 명암 ) 을입력한수만큼바꾸기 펜의굵기를입력한수만큼바꾸기 스프라이트이미지를그리거나찍기 ( 복사하여붙이기 ) 49

1.2 펜의색과두께정하기 펜의색상정하기 펜색깔을선택합니다. 펜색깔을지정한수만큼바꿉니다. 펜색깔을지정한수의값으로정합니다. 펜색깔정하기블록에서부분을클릭하면무지개색상의팔레트가나타납니다. 마우스포인터로색상팔레트를클릭하여색을선택할수있습니다. Click 스크립트를만들어무대위에서스프라이트가선을그리며이동하는지확인해봅시다. 50

펜의두께정하기 안에지정한수만큼펜의굵기를바꿉니다. 안에지정한수로펜의굵기를정합니다. 아래이미지는펜의굵기를 5, 10 그리고 30 으로지정하였을때그려지는펜의두께를보여줍니다. 51

2.1 관찰블록사용하여스프라이트충돌판단하기 실제애니메이션에서사물의충돌이나, 여러가지시점으로상황을확인할때유용한블록이 바로관찰블록입니다. 52

2.2 관찰블록사용하여색감지하기 자신이정의한색깔이스크립트에서작용하도록색을감지할수있습니다 마우스포인터를각색깔공에가져다놓으면스크립트에서해당색을감지하게됩니다. 라임색공을클릭하였을때 빨간색공을클릭하였을때 화살표를클릭하였을때 53

3.1 스테이지그림가져오기 자신이원하는배경을무대에두고실제환경처럼활용할수있습니다. 2. 파일을클릭합니다. 1.Stage 를클릭합니다. 4.Bedroom1 을 클릭합니다. 3.Backgrounds 를클릭합니다. 무대에배경이미지가나타납니다. 54

4.1 예제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 예제 1 : 펜카테고리에있는블록을사용하여스프라이트의펜을내려서네모를그려봅시다. 선의색이스테이지의바탕색 ( 하얀색 ) 과같으면잘보이지않을수있으니바탕 과잘구분될수있는색을사용합시다. 도움말 : 왼쪽과오른쪽스크립트모두네모를그릴수있지만오른쪽처럼반복문을 사용하여작성하는것이좋습니다. 먼저펜을내려야만선이그려질수있음을잊지 마세요! 예제 2 : 마우스포인터가스테이지에서움직이면마우스포인터에따라선이그려질수있도록스크립트를작성해봅시다. 55

예제 3 : 스프라이트만들기버튼을눌러스프라이트를한개더추가합니다. 아래그림처럼스프라이트를구성합니다. 첫번째스프라이트는공모양이고두번째는캐릭터형 태입니다. 두번째스프라이트는이름을첫번째와구분하기위해서이름을바꾸어 줍니다. 공모양의스프라이트는스테이지를자유롭게움직이지만스테이지의벽 너머로나가서는안되며두번째스프라이트에부딪칠때에는반사되어다른곳으 로튀어나가야합니다. 이동작을계속할수있도록스크립트를작성해봅니다. 첫번째스프라이트 두번째스프라이트이름바꾸기 ( 스프라이트 roi) 도움말 : 첫번째스프라이트만스크립트를넣습니다. 두번째스프라이트는그냥멈추어있기만하면되므로따로스프라이트를작성하지않아도됩니다. 관찰카테고리에서스프라이트가서로충돌하는지여부를알려주는 ~ 에닿았는가 블록을사용하여스프라이트끼리충돌이일어났는지검사합니다. 이때블록에있는팝업목록에서스프라이트이름을선택해서넣어주어야합니다. 56

예제 4 : 무대버튼을클릭하고아래와같은배경그림 (bedroom2.gif) 을가져옵니다. 스프라이트는마우스포인터처럼마우스의움직임에따라스테이지이곳저곳을이동합니 다. 이때스프라이트가배경에있는특정물체에머무르면말풍선으로아래와같은 메시지들이나타나도록스크립트를작성해봅시다. This is bed This is floor This is window This is furniture 도움말 : 실제그림에있는물체를식별하는것이아니라그림에있는물체들의색이무엇인지판단해서메시지를띄웁니다. 따라서다른물체들이라할지라도색이같다면같은메시지가나타날수있습니다. 57

4.2 연습문제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 1. 옆의그림처럼마우스의움직임에따라선이그려지는스크립트를작성하여봅시다. 마우스가여기저기움직이면중심으로부터마우스좌표까지계속해서선이그려지도록합니다. 2. 테니스게임 - 스프라이트만들기버튼을눌러서 3개의스프라이트를만든후첫번째스프라이트부터각각아래그림파일들을불러옵니다. 검은선모양의스프라이트는스테이지화면맨아래에위치하고공을막아내는블로커 (blocker) 스프라이트는마우스의움직임을따라스테이지하단에서좌우로움직입니다. 3. 또한검은선모양의스프라이트는스테이지하단에위치하며공이이선을만나면게임이끝나게됩니다. 공은벽이나블로커를만나면튕기게합시다. redball.png blocker.png blackbar.png 58

3. 색깔건반 스프라이트만들기버튼을클릭하여 2개의스프라이트를만든후둘중하나의스프라이트에는다양한색의사각형들이그려져있는옆의파일을불러옵니다. 이후마우스포인터를이사각형들에갖다댄후마우스를클릭하면각색깔마다다른음을연주할수있도록합시다. colors.png 4. 한붓그리기 키보드의화살표키를사용하여스프라이트를이동시키면스프라이트가움직인경로를따라선이그려지도록스크립트를작성해봅시다. 이때스프라이트는아래그림처럼삼각형모양의화살표를사용하도록하고이화살표의방향은화살표키의방향과일치할수있도록합시다. angle.png 59

2. 디바이스제어하기 1 장. 전방센서값 점검하기 60

Rokit Simulator 1.1 Rokit Simulator 란? 인벤터보드와 PC 간의다양한콘텐츠를통해로봇, 드론, 게임등을유저가원하는대로제어 하고소프트웨어를재미있게이해할수있는프로그램 양옆아날로그 IR 센서사용 양옆아날로그 IR 센서사용 뒷면디지털 IR 센서사용 양옆아날로그 IR 센서로 방향결정 뒷면중앙센서처음위치로 앞쪽 IR 센서로자율비행훈련 뒷면 IR 중앙 3 개중심 로봇청소기세팅하기 미션 Q. 누가안떨어트리고움직이며오래버틸까? 61

Rokit Simulator 1.2 인벤터보드 (Inventor Board) 인벤터보드는 IR 센서, Buzzer( 버저 ), LED, 모터와통신제어모듈등이모두내장되어있어 다양한응용이가능한하드웨어 (HW) 입니다. 스크래치, 아두이노를비롯하여자체제작한보드전용프로그램과접목하여다양한기능을 수행해내는전자장치입니다. 아날로그방식의 IR 센서 3 개 (0~1024) : 센서인식대략 10cm 만약별도의조종기가있다면 블루투스연결단자 In System Program : 펌웨어업데이트시사용 UART : 컴퓨터같은디바이스와연결하는기본단자 디지털방식의 IR 센서 7 개 : 값은오직 1 과 0 뿐 62

Rokit Simulator 1.3 소프트웨어 (SW) 와하드웨어 (HW) 연결 PC 와인벤터보드는아래이미지처럼통신케이블로연결되어야합니다. 하드웨어를그림처 럼연결시킨후, 드라이버를설치하여소프트웨어의통신상태를확인합니다. Inventor Board Board Cable Downloader NEXI Cable 1. 인벤터보드의딥스위치 2 번, 3 번을올립니다. 2. Downloader 와 Board Cable 를연결합니다. 2 번, 3 번 UP 3. Downloader 와 NEXI Cable 을연결합니다. 4. 인벤터보드와컴퓨터를연결합니다. 인벤터보드의 UART 에 Board Cable 연결 63

Rokit Simulator 1.4 데이터모니터링 접속 / 해제 데이터 모니터링 응용컨트롤 GUI 프로그래밍 고급컨트롤홈페이지종료 인벤터보드에는수많은센서와 LED 모듈들이내장되어있습니다. 이값을통해로봇제어보드의원리와용도를정확히이해하고활용할수있습니다. 64

Rokit Simulator 1.5 데이터모니터링 접속 / 해제 데이터 모니터링 응용컨트롤 GUI 프로그래밍 고급컨트롤홈페이지종료 디지털 IR 센서수치표시 디지털이란? 0 또는 1 과같은연속되지않는두개의숫자로정보를생성하는것을뜻합니다. 보드뒷면의 7 개센서는디지털 IR 센서입니다. 감지시에앞면의 8 개의 LED 로확인할수있으며뒷면가운데센서가앞면의 3,4 번 LED 두개와연결되어있는것이특징입니다. 65 실습!!

Rokit Simulator 1.6 데이터모니터링 ( 아날로그 IR 센서입력 ) 접속 / 해제 데이터 모니터링 응용컨트롤 GUI 프로그래밍 고급컨트롤홈페이지종료 아날로그 IR 센서수치표시 아날로그란? 끊김없이계속적으로이어지는숫자시스템으로, 보통전자에서는 0~1023의값을가지고있으며이러한특징은디지털이 0과 1로만이어져있는것과차이가있습니다. IR 센서이외에도가변저항이나초음파센서등입력을아날로그로받는것들이모두해당됩 니다. IR 센서보정값 (0~1023) IR 센서실제값 IR 센서가용범위 디지털로사용시 1: On/ 0 : Off 경계값미리보기조절바 마우스로드래그하여원하는경계값을확인할수있습니다 66 실습!!

Rokit Simulator 1.7 데이터모니터링 (LED, 출력 ) 접속 / 해제 데이터 모니터링 응용컨트롤 GUI 프로그래밍 고급컨트롤홈페이지종료 출력기능 인벤터보드에내장된 LED 와추가로외부에연결된출력모듈을제어할수있습니다. 외부 LED 및출력모듈을 연결하고 ON/OFF 제어 7 개의 LED ON/OFF 제어 소리나 LED, 7-Segment 와같은출력모듈을제어가능합니다. 67 실습 67!!

Rokit Simulator 1.8 데이터모니터링 (DC 모터 ) 접속 / 해제 데이터 모니터링 응용컨트롤 GUI 프로그래밍 고급컨트롤홈페이지종료 모터제어기능 DC 모터란? 바퀴와같이회전하는모터로, 속도값과방향값에변화를주면다양한구동이가능합니다. 슬라이더바의눈금에따라속도와방향이결정됩니다. STOP M1 CCW CCW M1 (Motor 1) M2 M2 (Motor 2) 실습 68!! 68

2.1 핀맵 (pin Map) 이란? 제어기에는여러가지장치들이있습니다. 이장치들은모두마이크로프로세서에있는핀들 중하나와연결되어있어서마이크로프로세서가이핀들을통해장치들을제어할수있게 해줍니다. 따라서제어기에연결된어떤장치들을제어하고싶다면먼저어떤장치가몇번핀에연결 되어있는지확인할수있어야합니다. 이러한정보를담은것을핀맵이라고합니다. 스마트 인벤터보드의핀맵은아래와같습니다. 핀맵이란? 지도 처럼제어기에담긴핀에대한정보를한눈에알아볼수있도록, 그림이나문서로작성 한것들을의미합니다. 핀맵은특히소프트웨어를코딩할때에큰도움이됩니다. 69

2.2 핀맵 (pin Map) 사용하기 예를들어아래의그림처럼 11 번부터 18 번은각각 LED 에연결되어있습니다. 만약보드맨 왼쪽의 LED 를켜거나끄고싶다면아래와같이 11 번핀에명령을내리면됩니다. : 11 번 LED 켜기 : 11 번 LED 끄기 핀의번호 핀에연결된 장치 70

2.3 아날로그 (analog) 블록사용하기 스마트인벤터보드의앞면 3개의센서에물체나손을감지하면제어기는감지상태에따라 0에서부터 1023 사이의값으로표현합니다. 물체가센서에가까이있으면 0에가까운값을출력하고, 물체가멀리있으면 1023에가까운값을출력합니다. 이처럼센서의감지상태에따라제어기가연속적인값을출력하는것을아날로그값출력이라합니다. 아날로그출력이가능한핀은 19번부터 26번까지이며, 보드전방의세개센서는아래그림처럼 19번부터 21번핀에연결되어있습니다. 가운데센서 왼쪽센서 오른쪽센서 아래와같이아날로그값블록의핀값을 20 번으로한후단순히블록을클릭해주면말풍선 으로센서값이출력됩니다. ( 제어기와로킷브릭이먼저연결되어있어야합니다 ) 또한아래와같이스크립팅하는방법도있습니다. 변수를만든후아날로그값을저장한다 음말하기블록을사용하여변숫값을나타내줍니다. 이렇게하면계속해서센서의값이스 프라이트말풍선으로출력됩니다. 71

3.1 예제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 예제 1 : 스마트인벤터보드앞부분에있는가운데센서 (20 번 ) 값을계속해서스프라이트의말풍선으로나타날수있도록스크립트를작성합니다. 작성한스크립트를실행한 후이센서에손이나물체를감지시켜봅시다. 도움말 : 아날로그값읽기 블록을말하기블록과결합하여사용하였습니다. 무한반복을해야계속현재값이보여질수있습니다. 이예제에서는변수블록을사용하지않았다는것에유의하세요. 예제 2 : 스마트인벤터보드앞부분에있는센서 3 개값을스테이지에표시하고 3 개의센서들에손이나물체를감지시켜봅시다. 도움말 : 먼저 3 개의센서값을저장할수있는변수 3 개를만들어줍니다. 이 3 개의변 수에무한반복블록을사용하여계속센서값들을읽어들입니다. 72

예제 3 : 스마트인벤터보드의앞부분가운데센서를손으로감지할때마다스테이지에있는캐릭터가튀어오르게해보세요. 손을떼면다시원래자리로돌아와야합니다. 도움말 : 센서값이 100보다작아지면스프라이트가움직이는것으로하였습니다. 이값은주위환경의밝기에따라달라질수있으므로직접값을검사해보는것이좋습니다. 센서값을검사하는가장편한방법으로는다른블록과결합되지않은 아날로그값읽기 블록을클릭해보는것입니다. 이렇게하면작은말풍선으로클릭한순간의센서값이표시됩니다. 73

3.2 연습문제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 1. 스마트인벤터보드의앞부분가운데센서를감지하면미사일이발사되듯이스프라 이트가스테이지의아래쪽에서위로빠르게올라갈수있도록스크립트를작성해봅 시다. 2. 스테이지에캐릭터스프라이트를불러옵니다. 스마트인벤터보드의앞면왼쪽센서를 감지하면스프라이트가왼쪽으로이동하고오른쪽센서를감지하면오른쪽으로이동하 며가운데센서를감지하면점프하는효과를만들수있도록스크립트를작성해봅시다. 3. 스마트인벤터보드의앞쪽에있는세개의센서중가운데센서값을감지하면스테이지에센서값을막대그래프의길이로나타내어주는스크립트를작성해보세요. 4. 스테이지에아래그림처럼인벤터보드의앞부분에있는 3 개의센서마다말풍선으로 계속센서값이출력되도록합시다 (smartinventor.png 사용 ). 만약변수를사용할경우 사용자의혼동이없도록스테이지의변수컨트롤은보이지않게해주세요. 834 792 772 74

2. 디바이스제어하기 2 장. 로킷시뮬레이터 게임 75

Rokit Simulator 1.1 응용컨트롤 접속 / 해제 데이터 모니터링 응용컨트롤 GUI 프로그래밍 고급컨트롤홈페이지종료 시뮬레이션게임기능 인벤터보드를이용한시뮬레이션게임을통해센서와보드의기능을자연스럽게이해할수 있습니다. 공막기슈팅수리검미로펌프드론 해당버튼을클릭하면아래로풀다운메뉴가나타나며해당컨트롤화면으로이동할수있습니다. 76

Rokit Simulator 1.2 응용컨트롤 공막기 벽 공 벽 인벤터보드의좌우 IR 센서를감지하여아날로그방식으로화면양쪽벽을움직여줍니다. 벽을자유롭게움직여공이화면밖으로나가지못하게합니다. IR 센서를감지하는거리에따라 공을막는벽의높이가달라집니다. 중앙 IR 센서를약 2 초정도감지하면 공의상태가리셋됩니다. 77

Rokit Simulator 1.3 응용컨트롤 슈팅 인벤터보드의좌우 IR 센서를감지하여비행기를좌우로움직입니다 ( 디지털방식 ). 비행기에서발사되는미사일로날아오는공을파괴합니다. 비행기는좌우 5 단계의정해진위치로이동하게됩니다. 아날로그센서지만일정범위를기준으로 디지털 ON/OFF 로작동합니다. 78

Rokit Simulator 1.4 응용컨트롤 수리검 인벤터보드의하단중앙에위치한 IR 센서 5 개 ( 양끝단센서는사용하지않음 ) 를이용하여 표창을던집니다. 손가락을움직여 5 개의센서들을순차적으로감지시키면, 각센서사이 에입력되는시간을속도로바꾸어수리검의속도를계산합니다. 보드를뒤집어잡고 적당한속도로수리검을던지듯 손가락을밀어냅니다. 79

Rokit Simulator 1.5 응용컨트롤 미로 인벤터보드의좌우 IR 센서만으로로봇을움직여미로를탐험합니다. 화 면의로봇은두개의 IR 센서를이용하여총 4 가지동작을할수있습니다. 센서를모두가리지않으면전진양쪽두센서를모두가리면후진왼쪽센서를가리면좌회전오른쪽센서를가리면우회전 80

Rokit Simulator 1.6 응용컨트롤 펌프 인벤터보드의하단중앙에위치한디지털 IR 센서 5 개 ( 양끝단센서는사용하지않음 ) 를 이용하여펌프를움직여줍니다. 손가락을이용하여센서들을순차적으로왕복하여감지 시키면, 각센서사이에입력되는위치에따라펌프도같은위치로움직입니다. 왼쪽손가락을가로로눕혀디지털센서에대고오른손으로보드를수직으로잡아펌프질하듯서로상하운동합니다. 왼쪽손가락은위치를고정시켜줍니다. 81

Rokit Simulator 1.7 응용컨트롤 드론 인벤터보드의좌우, 중앙 IR 센서와양쪽끝두개의디지털센서를사용하여 화면의드론을조종합니다. 다음페이지의드론정밀제어방법을확인하여 주세요. 82

Rokit Simulator 1.7 응용컨트롤드론정밀제어방법 a. 보드의중앙 IR 센서가아래쪽으로향하게잡은후, 바닥과의보드의거리를변화시키며화면속드론의상승과하강을컨트롤합니다. b. a. 처럼보드를잡은후, 보드를좌우로기울여서양쪽 IR 센서가바닥과의거리를인식해드론이좌우로움직일수있도록해줍니다. 후진 전진 c. 뒷면의양쪽끝두개의디지털 센서는각각드론의전진후진을 컨트롤합니다. d. 중앙의디지털센서는멀리이 동한드론을다시제자리로돌아오 게하는역할을합니다. 83

2.1 디지털출력이란? 디지털출력이란한마디로 On( 켜짐 ), Off( 꺼짐 ) 이렇게두가지신호만으로표현하는것을의미합니다. 스마트인벤터보드에서디지털출력을잘보여주는장치는전면 8개의 LED 디스플레이입니다. 아래그림처럼 11번부터 18번까지의핀이 LED 디스플레이를제어하는데사용됩니다. 2.2 디지털핀블록사용하기 로킷브릭은디지털핀블록을사용하여핀의상태를 참 의상태로설정했을때출력이 On 되면서 LED 가켜집니다. 아래블록을실행하면 11 번핀에연결된 LED 를켜줍니다. : 11 번 LED 켜기 또한핀의상태를 거짓 으로설정했을때에는출력이 Off 가되면서 LED 가꺼집니다. : 11 번 LED 끄기 동시에여러개의 LED 를켜거나끌때에는연속적으로블록을결합시켜사용하면됩니다. 아래의예제는 1 초동안 3 개의 LED 를동시에켠뒤, 꺼질때에도함께꺼지는예제입니다. 84

3.1 예제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 예제 1 : 스마트인벤터보드의 LED 장치들중 11 번과 18 번에동시에불이들어와서 1 초간격으로깜빡일수있도록스크립트를작성해봅시다. 도움말 : ~ 초기다리기 블록의값을조절하면깜빡이는주기가변화하게됩니다. 시간을변화시켜서다양한주기를만들어봅시다. 85

예제 2 : 스마트인벤터보드의앞부분에있는가운데센서를감지했을때 8 개의 LED 가모두켜지게해봅시다. 감지되지않은경우에는 8 개의 LED 가전부꺼지게합니다. 도움말 : 조건블록을사용해서센서가감지되었는지알아봅니다. < 조건 > 센서값이 100보다작아지면 LED 를모두켭니다. 이때왼쪽스크립트처럼반복문을사용하면더짧은스크립트로만들수있습니다. 단, 디지털핀의번호에도변수를사용하여바꿔줘야하는것에유의합니다. 86

예제 3 : 스마트인벤터보드의 8 개 LED 를왼쪽부터 0.1 초간격을주어차례대로불을켭니다. 8 개의 LED 가전부켜지면, 그즉시모두꺼지고다시처음과같은동작을반복 하게하여봅시다. 도움말 : 왼쪽과오른쪽은서로동일한결과를만들지만반복문과변수를사용하여스크립트를좀더짧게만들수있습니다. 왼쪽에있는스크립트에서는핀번호를직접입력하지않고 'led' 라는변수블록을만들어디지털핀블록에결합하였습니다. 그리고이변수블록의값을 1씩증가시켜 LED 를제어하였습니다. 87

3.2 연습문제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 1. 스마트인벤터보드의앞부분에있는세개의센서를사용합니다. 왼쪽센서를감지하 면가장왼쪽에있는 LED 가켜지고가운데센서를감지하면가운데있는두개의 LED 가켜지며오른쪽센서를감지하면가장오른쪽에있는 LED 가켜질수있게해봅시다. 2. LED 에니메이션 : 스마트인벤터보드의 LED 불빛이왼쪽부터오른쪽으로순서대로켜진 후, 다시오른쪽부터왼쪽으로켜지는동작을계속반복할수있게스크립트를작성해보 세요. 88

3. 스테이지버튼으로 LED 제어 : 스테이지에아래와같은세개의사각형이있습니다. 사각형들을마우스로클릭하면사각형의색이파랗게변하는동시에스마트인벤터보드의 LED가켜졌다가마우스버튼을떼면 LED가다시꺼지게해봅시다. 맨왼쪽사각형을클릭하면맨왼쪽 LED가켜지고가운데사각형을클릭하면가운데두개의 LED가꺼지고오른쪽사각형을클릭하면맨오른쪽 LED가켜지게해봅시다. 4. LED로레벨표시 : 옆의그림과같이스테이지에슬라이더를구성합니다. 슬라이더의구성은아래와같습니다. 1) 가운데레버는마우스를따라움직입니다. 그러나레버가양끝에위치하면마우스를따라움직이지않고멈추어있어야합니다. 2) 옆그림처럼그림처럼레버가오른쪽으로움직이면움직인만큼 LED 불빛이늘어납니다. 다시레버가왼쪽으로움직이면움직인만큼 LED 불빛이줄어들게됩니다. 3) 레벨미터에눈금이 7개가표시되어있습니다. 각눈금과레버가만났을때 LED 불빛의변화가있습니다. 마우스의움직임에따라레버와 LED가변화할수있게스크립트를작성해봅시다. Control1.png Control2.png Control3.png 89

2. 디바이스제어하기 3 장. 로킷시뮬레이터 로봇시뮬레이션 90

Rokit Simulator 1.1 GUI 프로그래밍 접속 / 해제 데이터 모니터링 응용컨트롤 GUI 프로그래밍 고급컨트롤홈페이지종료 GUI 프로그래밍기능 간단한클릭만으로로봇의움직임프로그래밍가능 지능적으로움직이는로봇의원리를프로그래밍하여시뮬레이팅해볼수있으며, 실제로봇 이없어도로봇의기본개념을학습할수있습니다. 미로탐험로봇라인트레이서추락방지로봇 해당버튼을클릭하면아래로풀다운메뉴가나타나며해당컨트롤화면으로이동할수있습니다. 91

Rokit Simulator 1.2 어보이더미로찾기 어보이더 미로찾기 전방에위치한 2 개이상의물체감지센서를통해물체를감지합니다. 동시에미로에부딪히 지않고벽을피해서길을찾는기능을손쉽게프로그래밍하고원리를학습할수있습니다. 장애물감지센서의감지상황에따라해당동작을지정하여로봇이미로를막힘없이돌아다 닐수있도록프로그래밍합니다. 92

Rokit Simulator 1.2 어보이더미로찾기 세개의슬라이더바를조절하여물체감지센서의감지거리를변경할수있습니다. 벽감지센서감도조절슬라이더 동작버튼 상황별동작지정버튼 시작버튼 감지되지 않음 가운데 감지 왼쪽 감지 오른쪽 감지 왼쪽, 가운데 감지 오른쪽, 가운데 감지 왼쪽, 오른쪽 감지 모두 감지 각센서를감지한상황에따라지정된동작을입력할수있습니다. 동작버튼을클릭하면입력 한동작을변경할수있으며, 우측의시작버튼을누르면각상황에맞는동작을실행합니다. 93

Rokit Simulator 1.3 라인트레이서 라인 트레이서 전방에위치한 2 개이상의물체감지센서를통해물체를감지합니다. 동시에라인을따라움 직이는로봇을손쉽게프로그래밍하고원리를학습할수있습니다. 로봇이처해있는교차로모양과그에따른동작을순차적으로지정하여원하는곳으로로봇 을이동시킵니다. 94

Rokit Simulator 1.3 라인트레이서 상황별교차로의모양과그에따른로봇의동작을순차적으로작성합니다. 현재로봇이처한 라인의상황과동작패턴을잘생각해서프로그램을작성해보도록합니다. 프로그래밍셀의좌측실행항목부분에체크하여로봇동작을실행시킬셀을활성화합니다. 진행순서프로그래밍셀 교차로모양 / 로봇의동작 시작버튼을눌러로봇을작동시켜줍니다. 95

Rokit Simulator 1.4 추락방지로봇 추락방지 로봇 뒷면세개의센서를이용하여낭떠러지를감지하고회피하는로봇입니다. 하얀바닥위에서 구동되어야하는추락방지로봇의원리는청소기로봇에도그대로적용할수있습니다. 낭떠러지감지센서의감지상황에따라해당동작을지정하여로봇이화면속의경기장밖 으로떨어지지않고자유롭게움직일수있도록프로그래밍합니다. 96

Rokit Simulator 1.4 추락방지로봇 동작버튼 상황별동작지정버튼 시작버튼 감지되지 않음 왼쪽 감지 오른쪽 감지 왼쪽, 가운데 감지 오른쪽, 가운데 감지 왼쪽, 오른쪽 감지 모두 감지 각센서를감지한상황에따라지정된동작을입력할수있습니다. 동작버튼을클릭하면입력된동작을변경할수있으며, 각버튼좌측의슬라이더를사용하여해당동작의지속시간을변경할수있습니다. (0-1.0초 ) 우측의시작버튼을누르면각상황에맞는동작을실행합니다. 항상기본설정을모두마친다음시작버튼을눌러로봇을작동시키고, 동작을멈춘후에 설정을바꿀수있습니다. 97

2.1 디지털핀입력이란? 디지털입력이란제어기에연결된어떤장치나센서의상태를오직 On( 켜짐 ), Off( 꺼짐 ) 두가지값으로만표현하여입력되는것을의미합니다. 어떤장치나센서의상태가 0에서부터 1023까지의숫자의값으로표현되는아날로그입력값과는달리오직켜짐과꺼짐, 0과 1, 혹은참과거짓으로만표현됩니다. 스마트인벤터보드에서디지털핀입력을가장잘보여줄수있는장치는보드뒷면의 7조센서와보드전면에부착된 3개의딥스위치 (dip switch) 입니다. Bottom Side 딥스위치 7 조센서 로킷브릭에서접근할수있는디지털핀은딥스위치와연결된 8 번 ~ 10 번핀, 그리고 7 조 센서와연결된 11 번 ~ 18 번핀등입니다. 이핀들은모두각각핀에연결된장치들의상태를 참 혹은 거짓 으로알려줍니다. 2.2 디지털읽기블록사용하기 디지털핀의상태를알기위해서는로킷카테고리에서아래와같은블록을사용합니다. 블록에서알고싶은핀번호를선택한후블록을클릭만하더라도말풍선으로핀의상태를알려줍니다. 아래와같이스크립트하면계속해서지정한핀값의상태를스프라이트의말풍선으로알려 줍니다. 98

3.1 딥스위치값읽어오기 딥스위치의 1번은 8번핀, 2번은 9번핀, 3번은 10번핀과연결되어있습니다. 만약 3번스위치를내리면 10번핀의상태는 On 이되고이때디지털값읽기블록을사용하면 참 으로핀의값이표현됩니다. 반대로스위치를올리면핀의상태는 Off 가되고핀의값은 거짓 으로표현됩니다. 또한아래와같이스크립트를작성하면 3 개딥스위치의변경되는값을스테이지에서계속 확인할수있습니다. 3.2 7 조센서값읽어오기 ( 디지털핀읽기블록을사용하기 ) 7조센서값을읽는방법은두가지가있습니다. 첫번째방법은딥스위치처럼 디지털값읽기 블록을사용하여 7조센서를이루는각센서의상태를읽어오는것이며, 두번째방법은 7 조센서값읽기블록을사용하여 7개의센서값을한번에읽어오는방식입니다. 아래그림처럼 12번핀센서를감지한상태에서디지털값읽기블록을실행하면 참 으로핀의상태를알려줍니다. 감지되지않은상태에서는디지털값읽기블록은핀의상태를 거짓 으로알려줍니다. Bottom Side 99

4.1 2 진수와 10 진수 7조센서값전체를한번에읽어야할때편리하게사용할수있습니다. 다만이블록은 7조센서값을 8자리 2진수로계산한후에다시 10진수로변환된값을알려주기때문에 2진수에대한지식이필요합니다. 2진수는 0과 1로만나타낸수입니다. 어떤숫자의값이 1보다큰경우에는자리올림을합니다. 예를들어 2를 2진수로표현하면 10이되며 3을 2진수로표현하면 11이됩니다. 만약 1100111과같은큰자릿수의 2진수인경우에는아래와같이계산하면편리합니다. 7 조센서값역시이처럼 2 진수의형태로계산됩니다. 예를들어 7 개중 18 번센서와 16 번센 서가감지된경우아래와같이 2 진수로나타내면 10100000 이며이것을 10 진수로나타내면 160 이됩니다. 7 조센서중가운데센서만감지된경우는 14 번과 15 번핀이동시에 1( 참 ) 로상태가변화합 니다. 14 번과 15 번두개의핀이가운데에위치한하나의센서에연결되어있기때문입니다. 따라서가운데센서가감지되었을때의값은아래와같습니다. 100

7 조센서중가운데센서와 13 번, 12 번, 11 번센서가감지된경우를이진수로나타내면 11111 이며아래와같이십진수로계산하면 31 이됩니다. 4.2 7 조센서값읽기 (7 조센서값읽기블록사용 ) 7 조센서에물체나손을감지시킨후 7 조센서값읽기블록을클릭하여값을알아봅시다. 모두감지한경우 : Bottom Side 18 번만 감지한경우 : Bottom Side 18 번과 11 번을 감지한경우 : Bottom Side 101

5.1 예제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 예제 1 : 딥스위치 3 번을올리면스프라이트의말풍선에 Switch On! 이라는메시지가나오고딥스위치를내리면 Switch Off 라는메시지가나오게스크립트를작성해봅시다. 도움말 : 딥스위치 3 번에해당하는핀번호는 10 번입니다. 10 번값이 거짓 이면스 위치가아래로내려간상태이고반대로 참 이면스위치가위로올라간상태입니다. 예제 2 : 딥스위치 1 번을올리면아래그림과같이맨왼쪽 (11 번 ) LED 가켜지고스위치를내리면 LED 가꺼지게해봅시다. 마찬가지로딥스위치 2 번을올리거나내리면가운데 LED(14, 15 번 ) 2 개가켜지거나꺼지고딥스위치 3 번을올리거나내리면맨오른쪽 (18 번 ) LED 가켜지거나꺼지도록스크립트를작성해봅시다. 102

도움말 : 스위치의상태는계속고정되므로스위치를위로올릴경우디지털값은 거짓 이되고조건블록의 만약 아래의스크립트부분이실행됩니다. 딥스위치를아래로내리면디지털값읽기블록의값은 참 이됩니다. 따라서 만약 ~ 라면 블록에서 하단의아니면 아래에연결된블록들이실행됩니다. 예제 3 : 7 조센서값을이용하여 18 번핀에연결된센서가감지되면 도 음이연주되고, 17 번핀에연결된센서가감지되면 레 음이연주되게해봅시다. 이렇게각센서가감 지될때마다각각의음이연주될수있는스크립트를작성해보세요. 도 레미파솔라시 Bottom Side 103

도움말 : 아무것도감지되지않은상태에서 7조센서의값은 0 입니다. 스마트인벤터보드를뒤집은상태에서가장왼쪽만을감지했을때는 7조센서의값이 2^7 = 128 이됩니다. 왼쪽에서두번째센서의값을감지했을때는 2^6=64가되는것입니다. 여기서가운데센서는하나만을감지하더라도마치두개의센서가감지된것처럼 2^4(16) + 2^3(8) = 24의값이출력된다는점을유의하기바랍니다. 이것은 8개의핀을 7개의센서에연결해서사용하도록설계되어있어가운데센서가 2개의핀을차지하기때문입니다. 도 :2^7=128 레 :2^6 =64 미 :2^5 =32 파 :2^4+2^3=24 솔 :2^2=4 라 :2^1=2 시 :2^0=1 예제 4 : 오른쪽그림과같은레이싱카모양의스프라이트가있습니다 (racingcar.png 를가져오기 ). 7 조 센서의왼쪽센서 (11 번 ) 를감지시키면왼쪽으로 회전하고오른쪽센서 (18 번 ) 를감지시키면오른 쪽으로회전합니다. 또한 11 번과 18 번을동시에 감지시키면스프라이트가전진할수있도록스 크립트를작성해봅시다. 도움말 : 이예제에서는센서를동시에두개이상감지 시키는경우, 어떻게처리할것인지잘보여줍니다. 맨왼 쪽센서의 7 조센서값은 128 이고맨오른쪽센서의 7 조 센서값은 1 이므로두개를동시에감지시키면 128+1 즉, 129 가 7 조센서값이됩니다. 이러한원리로 7 조센서중 동시에여러개의센서를감지시키는경우를구별할수 있습니다. 104

5.2 연습문제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 1. 오른쪽그림과같이스테이지에 1번부터 3번까지숫자가적혀있습니다. 각숫자는별개의스프라이트로이루어져있습니다. 여기에서특정숫자의딥스위치를올리면스테이지위에서해당하는숫자의색상이바뀌도록해봅시다. 그리고스위치를내리면원래의색상으로돌아올수있도록합니다. 2. 아래그림처럼스마트인벤터보드의 7조센서를폭이약 2cm 정도인검은선에감지시키며좌우로움직입니다. 이때스테이지에나타난검은선역시 7조센서가선을감지하는상태에따라좌우로움직일수있도록하여봅시다. 예를들어 12번센서가선을감지하였다면스테이지에있는선도가운데를기준으로해서 12번센서의위치만큼왼쪽으로이동할수있도록합니다. 105

3. 스마트인벤터보드의 7조센서중 11번과 12번그리고 17번과 18번을사용하여타이밍게임을만들어봅시다. 스테이지의스프라이트가특정번호를부르면 7조센서중그번호에맞는센서를빨리감지시키는게임입니다. 만약 1초내에감지시키지못하면실패했다는메시지가뜨도록합시다. Bottom Side 스테이지의스프라이트 106

2. 디바이스제어하기 4 장. 로킷시뮬레이터 응용시뮬레이터 107

Rokit Simulator 1.1 고급컨트롤 접속 / 해제 데이터 모니터링 응용컨트롤 GUI 프로그래밍 고급컨트롤홈페이지종료 고급컨트롤 내가만드는시뮬레이션과로봇제어환경 본인이직접환경을만들고인벤터보드와의구동방식을설정해보는로봇시뮬레이션환경 108

Rokit Simulator 자신만의시뮬레이터환경을만들어봅시다. 109

2.1 DC 모터 DC 모터는바퀴로움직이는로봇을만들때필요한모터입니다. 전원을연결하면 360 도로 계속회전하며 DC 모터에바퀴등을달아서로봇을이동하게할수있습니다. 2.2 DC 모터의연결 빨간색사각형으로표시된부분이 DC모터가연결되는핀입니다. DC모터의선을이부분에연결합니다. 스마트인벤터보드는 2개의 DC모터를제어할수있으며따라서핀역시 M1과 M2 두부분으로이루어져있습니다. DC모터선을연결할때에는 + 방향에빨간색선이오도록하면됩니다. M3는 M1과동일한연결핀으로서독립적으로제어되는것이아니라 M1의모터속도와방향을그대로따릅니다. M4 역시도 M2와동일한연결핀으로서 M2와동일하게움직입니다. 110

2.3 DC 모터블록사용하기 DC 모터블록의첫번째탭은모터번호, 두번째는모터의속도, 마지막탭은모터의동작을 결정합니다. 아래는이미지는여러가지 DC 모터블록의사용법을알려줍니다. - M2 핀에연결된 DC 모터를속도 70, 방향은역회전 ( 시계반대방향 ) 으로움직입니다. - M1 핀과 M2 핀에연결된두개의 DC 모터를속도 50 으로동시에움직입니다. 단, 방향은 M1 모터가정회전 ( 시계방향 ), M2 모터가역회전 ( 시계반대방향 ) 합니다. - M1 핀과 M2 핀에연결된두개의 DC 모터를속도 50, 각자다른방향으로움직입니다. 1 초동안움직임을유지하다가동시에두모터가멈추게합니다. 111

3.1 예제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 예제 1 : DC 모터를 M1 핀에연결합니다. 스페이스키를누르면 1 초동안은시계방향 ( 정회전 ) 으로, 그리고다음 1 초동안은시계반대방향 ( 역회전 ) 으로회전한후모터가정지되 도록해봅시다. 도움말 : DC 모터는멈춤블록으로명령을내려야만멈추게됩니다. 별도의멈춤명령 이없다면스크립트실행이멈추었을때, 심지어보드와의통신이끊어진경우에도 모터는움직입니다. 이럴경우에는보드의리셋버튼을누르면모터가멈춥니다. 예제 2 : DC 모터를두개준비하여하나는 M1 핀에, 다른하나는 M2 에연결합니다. 스크립트를클릭하면두개의모터모두 1 초동안은시계방향으로회전하며, 다음 1 초동안은 시계반대방향으로회전한후멈출수있도록스크립트를작성해봅시다. 도움말 : 멈춤명령을내린경우 DC모터의속도나방향설정은중요하지않습니다. 속도나방향설정과는무관하게멈춤이나풀림은동일한효과를가져옵니다. 112

예제 3 : DC 모터 2 개를 M1 핀과 M2 핀에각각연결합니다. 스마트인벤터보드의앞쪽세개의센서중왼쪽센서를감지하면 M1 핀에연결된모터가회전하고, 오른쪽센서를 감지하면 M2 핀에연결된모터가회전하게해봅니다. 두센서를동시에감지하면 두개의모터가함께회전하여야합니다. 도움말 : 만약 ~ 이면 블록을사용하여두모터가독립적으로움직일수있도록하였습니다. 따라서두센서를한꺼번에감지했을경우두모터가동시에움직이려면두 DC모터는독립적으로제어될수있어야합니다. 113

3.2 연습문제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 1. DC 모터를 M1 핀에연결한후, 키보드의위쪽화살표키를누르면모터의속도가서서히 증가하고아래쪽화살표키를누르면속도가천천히내려갈수있도록스크립트를작성 해보세요. 2. 아래그림과같이스프라이트에는슬라이드바가있습니다. 슬라이더바의움직임에따 라 M1 핀에연결된 DC 모터의속도가변화합니다. 1) 슬라이더바의레버는마우스에따라움직이는데, 마우스가양끝으로가게되면더이상따라오지않고제자리에서멈춰있어야하며이때 DC모터역시멈춰야합니다. 2) 레버가중간에위치할때에도 DC모터는멈춰야합니다. 3) 레버가마우스의움직임에따라왼쪽으로움직일때에는모터가시계방향 ( 정회전 ) 으로회전하며속도는레버의움직인양에비례해서빨라져야합니다. 4) 레버가마우스의움직임에따라오른쪽으로움직일때에는모터는시계반대방향 ( 역회전 ) 으로회전하며속도역시레버의움직인양에비례해서빨라져야합니다. 이처럼레버를좌우로조종하여모터의속도의조절하는패널을만들어봅시다. 속도 : 정방향최대 속도 : 0 속도 : 역방향최대 114

3. DC모터를 M1핀에연결합니다. 이후스크립트를실행하면모터의속도와방향을묻는질문과입력창이나옵니다. 입력창에입력한속도와방향대로움직일수있도록스크립트를작성해봅시다. 속도는 0에서 100까지의범위로하며입력받은후에는입력받은것이문자인지숫자인지구분될수있어야합니다. 방향을입력받을때에는네가지 (cw, ccw, stop, loose) 로입력받도록하고다른문자나숫자를입력받았을때에는무시하도록합니다. 115

3. 로봇제어하기 0 장. 로봇이란? 116

로봇의기초 1. 로봇이란? 체코어 Robota( 일한다 ) 는단어에서나왔으며, 사람을대신해기능을수행하는기계를말하 며, 최근에는사람에게즐거움을주는로봇들도지칭합니다. 2. 로봇교육 어린이부터청소년, 성인에게까지도친근하고호기심이있는과학분야인로봇에대해쉽게다가서고전자, 기계, 컴퓨터등을통해로봇을제어할수있을뿐만아니라, 소프트웨어코딩교육을통해구현되는로봇교육을포함합니다. 3. 로봇교육 (Software Coding Education) 의효과 로봇기술은미래의첨단산업기술의기초이자, 첨단과학이므로, 앞으로어린이들에게필요한교육이며, 로봇제작을통해 ( 문제해결을위한 ) 사고력, ( 무에서유를만드는 ) 창의력, ( 자신만의것으로활용가능한 ) 응용력을얻을수있습니다. 117

로봇의기초 4. 왜로봇을만들까? 로봇은인간의모든부분에있어서편리하게하고삶을윤택하게만들어줍니다. 118

로봇의기초 5. 로봇의구조 인간처럼몸과두뇌, 감각등을지니고있습니다. 6. 로봇의종류 다양한분류방법이있지만크게는로봇의움직임에따라분류합니다. 119

3. 로봇제어하기 1 장. 지능로봇조립 120

1.1 DC 모터란? 모터는전기를이용하여회전운동을얻어내는대표적인동력장치입니다. 우리가사용하는모터의내부에는영구자석, 코일과같은부품이들어있으며, 외부에서 들어오는전기의방향과자기장의방향에따라모터가회전하는방향이결정됩니다. 모터는자석의 N 극과 S 극이서로당기고 N 극과 N 극, S 극과 S 극 같이같은극끼리 는밀어내는원리를이용하여회전합니다. 특히, DC 모터는 360 도회전하므로, 바퀴구동형로봇을만들때적합한모터입니다. 2 개의모터를사용하여 2 륜구동로봇을만들거나 4 개의모터를사용하여 4 륜구동 로봇을만드는데사용합니다. 121

1.2 DC 모터블록사용하기 DC 모터블록은다음과같이세가지의값을입력하도록되어있습니다. 1. 2. 3. 1. 모터선택 : 어떤모터를? M1 M2 스마트보드는두개의모터를제어할수있습니다. 두개의모터를각각 M1 과 M2 라고 합니다. 움직이고싶은모터를연결하고, 알맞은값을선택하도록합니다. 2. 모터속도 : 회전속도는? 모터의속도를정합니다. 모터의속도는 0 부터 100 까지입니다. 숫자가클수록모터의속도가 빨라집니다. 3. 모터속도 : 어떤동작을? 모터의동작을정합니다. DC 모터는다음과같은동작을합니다. - 정회전 : 모터를시계방향으로회전합니다. - 역회전 : 모터를시계반대방향으로회전합니다. - 멈춤 : 모터를정지시킵니다. ( 자전거의브레이크를밟듯이정지 ) - 풀림 : 모터를정지시킵니다. ( 자전거의페달을놓듯이정지 ) 122

1.2 DC 모터블록사용하기 다음의예제로모터의동작을살펴봅시다. M1 에해당하는모터를 50 의속도로시계방향으로회전하고, 1 초를기다린후에, 멈추고 다시 1 초를기다리는것을반복하는예제입니다. 123

1.3 DC 모터속도와방향을센서로제어하기 스크립트를작성하기전에먼저센서입력값을저장할 3 개의변수블록을미리만들어 놓도록합니다. LEFT CENTER RIGHT 변수는각각다음의위치에해당하는센서값을저장하게됩니다. 124

1.3 DC 모터속도와방향을센서로제어하기 (1) 센서로모터방향제어하기 보드의적외선센서는감지가되면값이작아지게됩니다. 센서에물체가감지되면센서값이 100 보다작아지면, M1 모터가정회전을하게됩니다. 반대로, 센서가감지가되지않을때는, M1 모터가역회전을하게됩니다. 센서값이 100 보다작을때 모터정회전 CENTER 센서 센서값이 100 보다클때 모터역회전 125

1.3 DC 모터속도와방향을센서로제어하기 (2) 센서로모터속도제어하기 센서값으로모터의속도를제어합니다. 센서값은 0 부터 1023 까지입력이되며, 속도값은 0 부터 100 까지입력이가능하므로, 센서값과속도값의범위를맞춰주기위해서센서값을 10 으로나누어서그값을속도에입력합니다. LEFT 센서가감지되면 M1 모터의속도가줄어들게되고, RIGHT 센서가감지되면 M2 모터 의속도가줄어들게됩니다. 센서값 속도값 센서값 700 70 10 500 50 200 20 126

2.1 지능형로봇이란? 어떤로봇을지능형로봇이라고부를수있을까요? 단순한조립, 용접, 운반등의노동을수행하는 ( 반 ) 자동화된로봇이아닌, 주변환경을스스로 인식한후자신의행동을조절하고결정하는로봇을 지능형로봇 이라고부릅니다. 지능형을결정하는요소는인간과비교하여로봇이가질수있는센서와모듈을이용하여프 로그램을어떻게적용하느냐에결정됩니다. 여러분이직접지능형로봇을프로그래밍해보세요. 127

2.2 지능형로봇조립 (1) : 볼트와너트를이용하여조립합니다. 바퀴 모터와볼트 지지대 바퀴고정볼트 바퀴고정볼트 피트 모터와볼트 바퀴 가로 (7 홀 ) 와세로 (8 홀 ) 방향에유의합니다. 128

2.2 지능형로봇조립 (2) : 긴볼트와너트를이용하여인벤터보드를조립합니다. 스마트인벤터보드 긴볼트 129

2.2 지능형로봇조립 (3) : 짧은볼트와너트를이용하여건전지케이스를조립합니다. 건전지케이스 짧은볼트 130

2.2 지능형로봇조립 (4- 배선 ) M2 (Motor 2) M1 (Motor 1) POWER M1 (Motor 1) M2 (Motor 2) POWER 131

3.1 지능형로봇구동하기 ( 내장프로그램사용하기 ) 조립한로봇의전원을켜고손으로다양하게구동해봅시다. 완성된로봇에입력하는프로그램모드에따라각각다른로봇으로구동이가능합니다. 주의 딥스위치가모두 OFF 되어야합니다. 프로그램모드는아래와같습니다. 어보이더 ( 프로그램 1 번모드 ) 바닥감지로봇 ( 프로그램 2 번모드 ) 라인트레이서 ( 프로그램 12 번모드 ) 1. 어보이더구동 : 장애물을두고로봇이정상적으로회피하는지 확인합니다. 어보이더 ( 프로그램 1 번모드 ) 132

2. 바닥감지로봇구동 : 흰색의바닥이나책상위에검은색의테이프를 붙여로봇이움직이는것을확인합니다. 바닥감지로봇 ( 프로그램 2 번모드 ) 3. 라인트레이서구동 : 흰색의바닥이나책상위에검은색의테이프를 붙여로봇이라인을따라움직이는지확인합니다. 라인트레이서 ( 프로그램 12 번모드 ) 133

3. 라인트레이서감도조절하기 라인트레이서의작동이시작되면우선감도체크모드로들어갑니다. 이모드에서는라인트레이서를검은선위에올려두면검은선이감지되는부분의 LED만꺼지게됩니다. 만약선에올려놓았을때모든 LED가꺼지거나켜진다면감도에문제가있는것으로, 가변저항을통해감도조절을하게됩니다. 감도조절후에는중앙센서를감지시켜줍니다. 가변저항 134

3. 라인트레이서프로그래밍하기 감도조절이끝난후프로그래밍모드로들어가게됩니다. 아래설명을보고직접라인을따 라가게프로그래밍해봅시다. 입력을완료했다면, 중앙의센서를감지시켜프로그램을실행 해봅니다. 교차로에서왼쪽으로 교차로에서오른쪽으로 교차로를지나앞으로직진 교차로에서유턴 한단계실행취소 구동시작 제시된순서대로프로그램을입력하면 로봇이어떻게움직이는지확인해봅시다. 135 START

4.1 키보드를활용한구동방법 1-1. 변수만들기 변수만들기를사용하여들어줍니다. 변수를만 1-2. 모터의회전조건 M1 M2 M1 M2 모터의기준에서시계반대방향으로돌아가는것을역회전 모터의기준에서시계방향으로돌아가는것을정회전 이러한기준으로모터의전진, 후진, 좌회전, 우회전을만들수있습니다. 136

1-3. 스크립트만들기 Speed 를 80 으로넣어줌 ( 숫자크기에속도변화 ) 조건문을무한반복하기 조건 1> 위쪽화살표 M1: 역회전,M2: 정회전전진 조건 2> 아래쪽화살표 M1: 정회전,M2: 역회전후진 조건 3> 왼쪽화살표 M1: 정회전,M2: 정회전좌회전 조건 4> 오른쪽화살표 M1: 역회전, M2: 역회전우회전 조건이아닐때 ( 키를안누를때 ) 정지 로봇과연결하여어떻게구동이되는지확인하여봅시다. 137

4.2 마우스를활용한구동방법 1-1. 스크립트만들기 Speed 를 80 으로넣어줌 ( 숫자크기에속도변화 ) 조건문을무한반복하기 조건 1 전진 조건 2 후진 조건 3 우회전 조건 4 좌회전 조건이아닐때 정지 138

1-2. 로봇조종하기 Rokit brick 의무대에서 x 축 ( 가로 ), y 축 ( 세로 ) 을마우스로클릭하면전, 후, 좌, 우로로봇이 구동합니다. 139

5.1 연습문제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 1. 순차적으로출발지점부터목표지점까지자동으로도착할수있도록스크립트를작성해 보세요. 1) 직선코스 2) 직진후방향이동코스 GOAL GOAL 2. Rokit brick 의무대에서원의지름을조절하여지름의변화만큼로봇이원을그리는스크 립트를작성해보세요. 140

3. 로봇제어하기 2 장. 어보이더 141

1.1 핀맵사용하기 핀맵에는다음과같은정보가표시됩니다. ( 핀맵의정보는 40 쪽 2. 디바이스제어하기 1 장참조 ) 핀의기능이나용도 핀번호 핀번호는코딩중에해당하는핀을제어해야하는경우사용됩니다. 핀의용도를보면 11 번부터 18 번까지는 LED DISPLAY 라고적혀있습니다. 따라서 LED 를 켜고끌수있는용도라는것을알수있습니다. 142

2.1 아날로그블록사용하기 아날로그블록은아날로그핀번호를입력하도록합니다. 아날로그핀번호입력 아날로그값을읽기위해서는아날로그값을읽어올수있는핀을선택하여야합니다. 모든핀이아날로그값을읽을수있는것은아닙니다. LEFT IR SENSOR 왼쪽적외선센서 CENTER IR SENSOR 가운데적외선센서 RIGHT IR SENSOR 오른쪽적외선센서 19 번부터 26 번까지총 8 개의핀만이아날로그값을읽어오는기능을가지고있습니다. 보드의전방에위치한세개의적외선 (IR) 센서와제어기오른쪽의 PORTA 라고표기된부분 입니다. 143

3.1 어보이더의구동원리 장애물을피하는방향으로움직입니다. 두개의센서에입력이없을때 ( 장애물이없을때 ) 전진 오른쪽센서에 입력이들어올때 좌회전 가운데센서에입력이들어올때 왼쪽센서에입력이들어올때 후진후우회전 144 우회전

4.1 프로그램설명 (1) 1-1. 변수설명 1-2. 해당변수의아날로그값 변수만들기를사용하여 5개의변수블록을만들어 줍니다. 1. sensorl - 왼쪽센서의아날로그값 2. sensorm - 중앙센서의아날로그값 3. sensorr 오른쪽센서의아날로그값 4. speed 모든모터의속도 5. limit - 기준이되는값 만들어진 sensor 변수에는앞서배웠던보드전방의 IR 센서보정값 (0 1023) 이들어갑니다. sensorl 19핀 sensorm 20핀 sensorr 21핀 이러한값이들어가려면각센서의해당핀번호가입력되어야만메인보드로입력되는값이실 시간으로감지되어변수값으로전달됩니다. 실시간아날로그값 145

4.2 프로그램설명 (2) 반복 변수선언 변수 speed 와 limit 는스크립트가시작할때각각특정한값을가져야합니다. 이것을초기값이라합니다. 모터속도를제어하는값인 speed 는초기값이 80 입니다. 또한센서의감지여부를결정하는값이들어있는변수 limit 의초기값은 200 입니다. 아날로그값 앞부분세개의센서값을읽어서각각의변수에저장합니다. 이스크립트들이무한반복하기블록안에들어있다는점을유의해주세요. 조건 1 왼쪽센서값이변수 limit 보다작으면물체가감지된것으로판단하고모터를움직여서오른쪽으로회전합니다. 이때모터의회전방향은둘다역회전이어야오른쪽으로회전할수있습니다. 조건 2 가운데센서값이변수 limit 보다작으면물체가감지된것으로판단하고모터를움직여서 0.5 초정도후진한후오른쪽으로회전합니다. 이렇게후진한다음회전하면더욱안정적으로물체를피할수있습니다. 조건 3 조건아니면 146 오른쪽센서값이변수 limit 보다작으면물체가감지된것으로판단하고모터를움직여서왼쪽으로회전합니다. 이때모터의회전방향은둘다정회전이어야왼쪽으로회전합니다. 3 개중어떤센서도감지되지않은경우에는로봇은전진합니다. 두개의모터중왼쪽 (1 번 ) 모터는역회전, 오른쪽 (2 번 ) 모터는정회전할때전진하게됩니다.

5.1 연습문제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 1. 다음과같이빛을따라오는로봇응용스크립트를작성해보세요. 센서로입력된빛을따라가며움직입니다. 센서의입력이없을때 ( 빛이없을때 ) 정지 두개의센서에입력이들어올때 ( 빛이비출때 ) 전진 왼쪽센서에입력이들어올때 ( 빛이왼쪽에서비출때 ) 오른쪽센서에입력이들어올때 ( 빛이오른쪽에서비출때 ) 좌회전 우회전 2. 다음과같은미로를탈출하기위한어보이더응용스크립트를작성해보세요 147

3. 로봇제어하기 3 장. 바닥감지로봇 148

1.1 디지털핀출력에대하여 디지털핀은입력과출력의기능을사용할수있습니다. 출력이라는말에서알수있듯이 전기적인신호값을내보내는것을말합니다. 입력 : 신호를받는다 LED, 센서등 제어기 출력 : 신호를보낸다 디지털핀의출력은 HIGH 와 LOW 라는상태로표시되는데, 하드웨어적인전압의상태로써 HIGH 는 5V 를 LOW 는 0V 를의미합니다. 논리적인개념으로는 HIGH 는참, LOW 는거짓으로표현됩니다. HIGH LOW 쉽게말해서, 방안의스위치역할을한다고볼수있습니다. 스위치를올린다 (HIGH) 불이켜짐 ( 상태 : 참 ) 스위치를내린다 (LOW) 불이꺼짐 ( 상태 : 거짓 ) 149

1.2 디지털핀블록사용하기 디지털블록은핀번호를입력하도록합니다. 1. 2. 1. 핀번호입력 사용할핀번호를입력합니다. 2. 참 거짓설정 지정한핀에논리신호인참 (HIGH) 와거짓 (LOW) 신호를보냅니다. 참 블록과 거짓 블록은 연산팔레트에서얻을수있습니다. : 해당하는핀을켭니다. : 해당하는핀을끕니다. 설정값에따라해당하는핀의상태가달라집니다. 11 번핀이켜집니다. 11 번핀이꺼집니다. 150

2.1 바닥감지로봇의구동원리 센서로입력된값이없는경우, 후진후방향을틀어다른쪽으로이동합니다. 낭떠러지 ( 입력없음 ) 지면 ( 입력이들어옴 ) 두개의센서에 입력이들어올때 전진 오른쪽센서에만 입력이없을때 후진후좌회전 낭떠러지 ( 입력없음 ) 지면 ( 입력이들어옴 ) 두개의센서에입력이없거나 왼쪽센서에만입력이없을때 후진후우회전 주의 낭떠러지가없는경우, 하얀색바닥에검은색절연테이프를원이나 네모모양으로붙으면낭떠러지와같은환경이만들어집니다. 151

3.1 프로그램설명 (1) 1-1. 변수설명 변수만들기를사용하여한개의변수블록을만들어 줍니다. 1. speed 모든모터의속도 1-2. 보드뒷면 7 개센서의디지털값 보드뒷면의 7 개의센서가디지털방식의 IR 센서입니다. 디지털센서란 0 또는 1 과같은연속되지않는두개의숫자로정보를생성하는것을뜻합니다. 14.15 핀 18 핀 17핀 16핀 13핀 12핀 11핀 센서 4 개 : 11,12,17,18 사용 152

3.2 프로그램설명 (2) 변수선언 반복 조건문을무한반복 변수 speed 에 80 을저장 조건 1 바닥에있는디지털센서중 11,12 번센서가바닥을감지안할때후진 0.5 초간대기 오른쪽으로회전 0.5 초간대기 조건 2 바닥에있는디지털센서중 17,18 번센서가바닥을감지안할때후진 0.5 초간대기 왼쪽으로회전 0.5 초간대기 조건이아닐때 조건아아닐때전진 153

4.1 연습문제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 1. 바닥에검은색절연테이프를붙이고물체를모두밖으로내보내는스모형식의로봇 응용스크립트를작성해보세요. 2. 낭떠러지를열번감지하면멈추는스크립트를작성해보세요. 154

3. 로봇제어하기 4 장. 라인트레이서 155

1.1 라인트레이서의구동원리 검정색 : 입력이없음 ( 적외선을흡수합니다 ) 흰색 : 입력이들어옴 ( 적외선을반사합니다 ) 두개의센서에입력이없을때 ( 장애물이없을때 ) 전진 오른쪽센서에만 입력이들어올때 좌회전 두개의센서에입력이들어오거나왼쪽센서에만입력이들어올때 우회전 156

2.1 프로그램설명 (1) 1-1. 변수설명 1-2. 보드뒷면 7 개센서의디지털값 변수만들기를사용하여 3개의변수블록을만들어줍니다. 1. speed 모든모터의속도 2. senl- 왼쪽 12핀센서가감지되면참. 감지되지않으면거짓. 3. senr- 오른쪽 17핀센서가감지되면참. 감지되지않으면거짓. 보드뒷면의 7 개의센서가디지털방식의 IR 센서입니다. 디지털센서란 0 또는 1 과같은연속되지않는두개의숫자로정보를생성하는것을뜻합니다. 14.15 핀 18 핀 17핀 16핀 13핀 12핀 11핀 센서 2 개 : 12, 17 사용 157

2.2 프로그램설명 (2) 반복 변수선언 조건문을무한반복 변수 speed 에 50 을저장 조건 1 바닥에있는디지털센서중 12 핀이감지안되고, 17 핀이감지될때왼쪽으로회전 조건 2 바닥에있는디지털센서중 12 핀이감지되고, 17 핀이감지안될때오른쪽회전 조건 3 바닥에있는디지털센서중 12 핀,17 핀둘다감지될때전진 정지 키보드의스페이스바를눌렀을때정지 158

3.1 연습문제 예제와연습문제파일다운로드는 rokitarduino.org 웹사이트 DOWNLOADS 를확인해주세요. 자세한내용은교재 16 페이지 1. 바닥에검은색절연테이프를다음과같이붙이고, 두번째교차로지점에서멈추는 응용스크립트를작성해보세요. 2. 다음과같은직각형태의라인을통과하여첫번째교차로에서멈추는응용스크립트를 작성해보세요. 159

www.rokitarduino.org