|
|||||||||||||||||||||
|
|||||||||||||||||||
[로봇사이언스몰][코딩키트][Microbit] [마이크로비트] 사물인터넷을 위한 BBC mincro:bit 프로그래밍 with 자바스크립트 블록 에디터
* 교재 활용방법 : 먼저 교재를 구매하여 내용을 검토 후에 그에 맞는 부품을
아래 안내를 참조하시면 됩니다.
실험에 필요한 부품리스트
책 소개
기본적인 코딩 방법부터 사물인터넷을 위한 하드웨어 개발까지!
BBC micro:bit는 영국의 국영 방송국인 BBC 중심으로삼성전자, 마이크로소프트, ARM, 랭커스터(Lancaster) 대학교 등의 업체와 단체들이 다년간의 연구 개발을 통해서 개발한 4×5cm 크기의 소형 교육용 보드다. 개발환경으로 파이썬(Python)과 자바스크립트 블록 에디터(JavaScript Block Editor)라는 개발환경을 지원하고 있는데, 자바스크립트블록 에디터는 MIT의 스크래치와 같은 블록과 자바스크립트를 함께 이용해 작업할 수 있는 환경을 제공하고있다. 이 책은 마이크로소프트의 자바스크립트 블록 에디터를 이용해BBC micro:bit 기반의 사물인터넷 애플리케이션을 개발하는 내용을 다룬다.
서지 정보
출판사 | 제이펍 |
지은이 | 서영진 |
출판일 | 2017년 9월 21일 |
페이지 | 432쪽 |
판 형 | 46배판변형(188*245*19) |
제 본 | 무선(soft cover) |
정 가 | 28,000원 |
ISBN | 979-11-85890-95-1 (93000) |
키워드 | 마이크로비트 / 사물인터넷 / IoT / 코딩 / 자바스크립트 블록 에디터 |
분 야 | 하드웨어 / 코딩 교육 |
출판사 서평
BBC micro:bit로 배우는 사물인터넷(IoT)과 코딩!
사물인터넷 코딩 교육을 위한 최적의 오픈 소스 플랫폼, BBC micro:bit!
기본적인 코딩 방법부터 사물인터넷을 위한 하드웨어 개발까지!
이 책은 BBC micro:bit와 마이크로소프트에서제공하는 자바스크립트 블록 에디터를 이용하여 코딩의 기본은 물론, IoT에서 사용하는 다양한 센서와전자 부품 제어에 관한 내용을 담고 있다. 책의 전반부에서는 블록과 순서도를 이용한 기본적인 프로그래밍방법에 대해 학습하고, 이를 바탕으로 IoT에서 사용하는다양한 전자 부품을 사용할 수 있도록 구성하였다.
사물인터넷과 인공지능 등이 불러온 제4차산업혁명의 바람은 앞으로 더 많은 개발자를 필요로 할 것이다. 선진국들은 이미 수년 전부터 미래 세대를위한 IT 교육을 시작했으며, 영국과 미국, 이스라엘, 싱가폴 등은 다양한 코딩 교육 도구 중 BBC micro:bit를 선정하여 교육하고 있다. BBC micro:bit로코딩과 IoT를 체계적으로 배울 수 있도록 구성한 이 책이 미래를 준비하는 여러분에게 좋은 가이드가되기를 바란다.
이 책에서 다루는 내용
• 세계 각국의 IT 교육과 사물인터넷 현황
• 오픈 소스 하드웨어와 BBC micro:bit 개요
• 마이크로소프트의 자바스크립트 블록 에디터
• 블록(Blocks)을 이용한 코딩
• 자바스크립트(JavaScript)를 이용한 코딩
• 순서도와 프로그래밍 로직(반복문, 조건문 등)
• 조도(빛 감지) 센서, 서보 모터 등 다양한 센서와 전자 부품 제어
• BBC micro:bit를 이용한 스마트폰의 연동
책속으로
이 책에서는 마이크로소프트의 자바스크립트 블록 에디터에 대해서 살펴보는데, 먼저 이해하기 쉬운 블록에 대해서 알아보고 각 장의 마지막에서 자바스크립트에 대해서 살펴본다. 이를 위해 먼저 이번 장에서는 BBC micro:bit를 사용하는데 필요한 개발환경에 대해서 알아보고, 프로그래밍에 사용되는 블록들에 대해서 살펴본다. 그리고 ‘Hello World!’ 프로그래밍을 통해 BBC micro:bit를 위한 애플리케이션의 작성 과정에 대해서 살펴보도록 하겠다.
_38쪽
자바스크립트 블록 에디터에서는 프로젝트의 생성과 삭제 등의 기능을 제공한다. 새로운 코드를 작성하고 싶은 경우 그림 2-13의 프로젝트 팝업에서새 프로젝트(New Project...) 버튼을 클릭한다. 버튼을클릭하면 새로운 프로젝트를 코딩을 작업할 수 있도록 비어있는 개발환경을 바로 표시된다. 또한, 생성한 프로젝트를 삭제하고 싶은 경우에는 프로젝트 관리 버튼을 누르면 ‘프로젝트 삭제(Delete Project)’ 항목을 선택하면 된다.
_51쪽
이제 앞의 코드를 좀 더 수정해보자. 5×5 LED 매트릭스는 y축에서는 0번의첫 번째 줄만 사용하고 있다. X축으로 0부터 4까지 LED를 켜고 나서 다음 y축으로다시 진행하려면 어떤 식으로 수정하면 될까? 이때는 x축의방향과 y축의 방향으로 두 번의 반복이 필요하다. 그림 5–16의 순서도와 같이 2개의 ‘for’ 루프를 사용하면 되는데, 앞의 코드를 다시 수정해보자.
_159쪽
변수에 값을 설정하기 위해서는 “할당(assign)”블록이 필요하다. “산술 연산” 블록은 혼자서는 사용할 수 없고, “할당”블록이나 “변환(change)” 블록을 사용해야 하고, 현재변수에 설정된 값을 “획득(get)” 블록을 이용해서 가져올 수 있다.블록과 자바스크립트에서는 변수와 산술 연산자 등을 이용해서 다양한 계산을 지원하고 있다.
_255쪽
앞의 블록에서 주사위 게임은 “기본(Basic)”코딩 블록의 “LED 표시(showLeds)” 함수를 사용해서간단하게 스크린의 LED 패턴을 설정하였다. 그렇지만 여기에서는 2장에서 설명한 사용자 함수와 “Led” 코딩 블록의 “표시(plot)” 함수를 사용해서 주사위를 만들어보겠다. 주사위의 눈을보면 앞에서 설명한 것과 같이 ‘3’은 ‘1’과 ‘2’를 동시에 표시하면 되고, ‘5’는‘4’와 ‘1’을 동시에 표시하면 된다.
_311쪽
지은이 소개
서영진
십여 년 넘게 IT 분야에서 프로그래밍을하고 있으며, IT 전문 강사와 컨설턴트로 일하며, 관광 TC도 겸하고 있다. 주요 저서로는 《사물인터넷을 위한 리눅스 프로그래밍 with 라즈베리 파이》, 《타이젠으로 웨어러블 앱 개발하기》, 《사물인터넷: 우리가 꿈꾸는 스마트한 세상》, 《Qt 프로그래밍》 등이 있다.
개발한 애플리케이션으로는 리눅스용 다이얼패드,SKY 6400/6500 모바일 캠코더, 원자력 발전소CPS 시스템, 신도리코 NEST UI, 삼성전자 VoIP 폰 등이 있으며, 리눅스,UI(Qt), 임베디드, 모바일, 사물인터넷을비롯한 스마트폰 디바이스 분야에서 개발을 진행하였다. 이집트SECC, 베트남을 비롯한 해외 강의와 삼성전자, LG전자, 현대, SK 등의 기업과 대구/DIP/인하/원광/전북/조선대학교 및 3DFIA, KETI, KEA, RAPA, KOSTA 등의 협회에서 강의 및 세미나를 진행하였다.
차례
1부 BBC micro:bit 시작하기
1장 BBC micro:bit 이해하기 4
1-1 IT 교육을 위한 작은 시작 7
1-1-1 사물인터넷 시대와 소프트웨어 교육 7
1-1-2 교육을 위한 하드웨어 9
1-1-3 아이들을 위한 소프트웨어 개발 교육도구 12
1-2 사물인터넷과 BBC micro:bit 14
1-2-1 사물인터넷 14
1-2-2 사물인터넷과 오픈 소스 하드웨어 15
1-2-3 아두이노 17
1-2-4 라즈베리 파이 19
1-2-5 코드버그 21
1-2-6 BBC micro:bit와 주변기기 23
1-3 BBC micro:bit의 개발환경 26
1-3-1 소프트웨어 개발환경 26
1-3-2 BBC micro:bit의 개발환경 28
1-3-3 자바스크립트 블록 에디터 30
1-3-4 BBC micro:bit와 스마트폰개발환경 30
1-4 자바스크립트 블록 에디터의 기본 32
1-4-1 자바스크립트 블록 에디터와 블록 32
1-4-2 자바스크립트 블록 에디터와 자바스크립트 33
1-4-3 코드의 실행 34
2장 자바스크립트 블록 에디터를 이용한 프로그래밍 37
2-1 자바스크립트 블록 에디터에 대해서 40
2-1-1 자바스크립트 블록 에디터의 개요 40
2-1-2 자바스크립트 블록 에디터의 구조 43
2-2 자바스크립트 블록 에디터와 코딩 블록 45
2-2-1 자바스크립트 블록 에디터의 코딩 블록 45
2-3 Hello World! 프로그래밍 71
2-3-1 새로운 프로젝트의 생성과 삭제 71
2-3-2 Hello World! 프로그래밍 72
2-3-3 BBC micro:bit에서 실행하기 77
2-4 자바스크립트와 Hello World! 프로그래밍 80
2-4-1 자바스크립트 블록 에디터와 자바스크립트코딩 80
2-4-2 자바스크립트를 이용한 Hello World! 프로그래밍 80
2-4-3 “기본(Basic)” 코딩 블록의 “문자열 표시” 함수 81
2-4-4 사용자 정의 함수 82
3장 누르고 밝히고…(버튼과 LED) 88
3-1 버튼을 눌러요! 90
3-1-1 사용자와의 인터랙션과 버튼의 사용 90
3-1-2 버튼 감지를 위한 프로그래밍 91
3-1-3 블록의 복제와 삭제 92
3-2 하트 뿅뿅~: 5×5 LED 매트릭스와 패턴 94
3-2-1 5×5LED 매트릭스를 위한 하트 패턴 94
3-2-2 하트 깜빡이기: 블링킹(Blinking) 96
3-2-3 5×5LED 매트릭스의 밝기 설정 97
3-3 심장이 두근두근: 스프라이트와 애니메이션 100
3-3-1 스프라이트 100
3-3-2 심장이 두근두근 101
3-4 자바스크립트에서의 버튼과 LED 제어 104
3-4-1 자바스크립트와 버튼 제어 104
3-4-2 자바스크립트와 LED의 밝기 설정 107
3-4-3 자바스크립트와 애니메이션 110
4장 노래를 불러라~ 114
4-1 소리와 스피커/피에조 부저 116
4-1-1 소리116
4-1-2 스피커와 피에조 부저 118
4-2 도레미파~ : 계이름의 출력 120
4-2-1 BBC micro:bit와 스피커의연결 120
4-2-2 블록(Blocks)을이용한 소리의 출력 122
4-3 학교종이 땡땡땡~ : 곡을 연주해요 126
4-3-1 악보: 음표, 쉼표 그리고 박자 126
4-3-2 학교종을 울려봐요 127
4-4 자바스크립트와 소리의 출력 131
4-4-1 자바스크립트의 음악 관련 함수 131
4-4-2 자바스크립트의 사운드 출력 132
2부 BBC micro:bit 프로그래밍
5장 프로그래밍 로직과 반복문 144
5-1 프로그래밍 로직 설계와 순서도 147
5-1-1 절차적 프로그래밍 147
5-1-2 순서도 149
5-2 반복문: repeat, while, for, forever 151
5-2-1 반복문 151
5-2-2 “반복(repeat)” 블록을 사용한 반복 152
5-2-3 “for”블록의 반복을 사용한 LED 켜기 154
5-2-4 2중 “for” 블록 159
5-2-5 “for”블록의 반복을 사용한 LED 끄기 164
5-3 이미지와 스크롤링 166
5-3-1 이미지 166
5-3-2 이미지의 스크롤 167
5-4 자바스크립트와 순환문 170
5-4-1 자바스크립트의 순환문 170
5-4-2 자바스크립트와 “for” 함수 171
5-4-3 이미지를 이용한 스크롤링 173
5-4-4 “break”문과 “continue” 문 175
6장 제어와 분기 181
6-1 엄마가 좋아, 아빠가 좋아?: 조건문(if) 183
6-1-1 조건문 183
6-1-2 블록에서의 조건문의 처리(“if ” 블록) 183
6-1-3 “if”블록의 또 다른 옵션(“if ~ else” 문) 188
6-2 제어 로직 190
6-2-1 조건의 판단과 비교 연산자 190
6-2-2 논리 연산자 194
6-3 비교하고 또 비교하고(“if ~ else if”문) 198
6-3-1 “if~ else if” 문 198
6-3-2 숫자에 따른 요일의 출력 199
6-4 자바스크립트와 제어 로직 201
6-4-1 자바스크립트의 제어 로직 201
6-4-2 “if” 문 203
6-4-3 “if~ else if” 그리고 “if ~ else” 문205
6-4-4 “if~ else” 문과 “switch ~ case” 문 208
7장 수학과 코딩 213
7-1 변수 216
7-1-1 컴퓨터 구조와 메모리 216
7-1-2 변수의 사용 217
7-1-3 배열의 사용 219
7-2 사칙 연산과 나머지 구하기 223
7-2-1 사칙 연산 223
7-2-2 나머지 구하기 228
7-2-3 팩토리얼(factorial) 230
7-3 온도 변환기(섭씨 ⇔ 화씨) 234
7-3-1 섭씨와 화씨 234
7-3-2 온도 변환기의 작성 235
7-4 자바스크립트와 수학 238
7-4-1 자바스크립트의 수학과 변수의 사용 238
7-4-2 A4 종이 규격의 비밀 239
7-4-3 A 사이즈의 종이 크기를 구하는 프로그래밍 240
7-4-4 증감 연산자와 return 문 246
7-4-5 비트 연산 248
7-4-6 시프트 연산 252
8장 센서와 입력 257
8-1 게임과 가속도 센서 259
8-1-1 게임 코딩 블록 259
8-1-2 폭탄 피하기 게임 260
8-1-3 가속도 센서의 사용 266
8-2 수평을 맞춰요~ 268
8-2-1 수평계 268
8-2-2 온도계를 만들어봐요 271
8-3 방위 센서를 이용한 나침반 272
8-3-1 동서남북 272
8-3-2 나침반을 만들어봐요 273
8-4 자바스크립트를 이용한 게임과 센서 276
8-4-1 위~아래~ 위위아래아래~ 276
8-4-2 자바스크립트를 이용한 레이싱 게임 프로그래밍 278
3부 BBC micro:bit를 이용한 사물인터넷프로젝트
9장 뱀 주사위 놀이 296
9-1 뱀 주사위 놀이 298
9-1-1 보드게임 298
9-1-2 뱀 주사위 놀이 299
9-2 주사위 표시 300
9-2-1 주사위 300
9-2-2 주사위 만들기 301
9-3 흔들~ 흔들~ 흔들어~ 305
9-3-1 사용자 경험 305
9-3-2 흔들기 감지 306
9-4 자바스크립트와 가위바위보 307
9-4-1 가위바위보 게임 307
9-4-2 자바스크립트와 함수의 사용 311
10장 손에 손잡고 319
10-1 BBC micro:bit와 외부 단자 322
10-1-1 BBC micro:bit에서 제공하는 단자들 322
10-1-2 링 단자의 사용 323
10-1-3 전도성 실과 펜 324
10-1-4 전기의 흐름과 전도체 실험 325
10-2 과일 키보드 330
10-2-1 과일을 이용한 키보드 330
10-2-2 과일 키보드를 위한 코드 작성 331
10-2-3 손에 손잡고 333
10-3 웨어러블: 블루투스와 스마트폰 336
10-3-1 웨어러블 336
10-3-2 블루투스를 통한 스마트폰과의 연동: 디바이스코딩 블록 338
10-3-3 날 찾아봐요(catch me if you can)343
10-4 자바스크립트의 핀 제어 344
10-4-1 자바스크립트의 핀 제어 관련 함수 344
10-4-2 자바스크립트를 이용한 디지털 반려동물 345
10-4-3 모바일과의 연동 348
11장 BBC micro:bit로 하는 전자실험 352
11-1 발광 다이오드와 신호등 만들기 354
11-1-1 발광 다이오드 354
11-1-2 BBC micro:bit와 발광 다이오드의 사용 355
11-1-3 신호등을 만들어봐요 356
11-2 터치 게임: 알루미늄 테이프 360
11-2-1 알루미늄 테이프 360
11-2-2 터치 게임 360
11-3 M2M: micro:bit to micro:bit367
11-3-1 M2M 367
11-3-2 BBC micro:bit 간의 통신 367
11-3-3 블루투스를 이용한 BBC micro:bit 간의통신 370
11-4 자바스크립트와 백그라운드 처리, 그리고 시리얼 입출력372
11-4-1 자바스크립트와 백그라운드 처리 372
11-4-2 자바스크립트와 시리얼 입출력 377
12장 확장을 위한 연결 381
12-1 기초 전자공학과 브레드보드 383
12-1-1 전자 회로 383
12-1-2 브레드보드 384
12-1-3 다양한 전자부품 386
12-2 BBC micro:bit와 센서의 사용 389
12-2-1 스위치 389
12-2-2 빛 감지(조도) 센서의 사용 391
12-3 액추에이터와 모터의 연결 397
12-3-1 액추에이터 397
12-3-2 서보 모터의 제어 398
12-4 자바프로젝트와 디바이스의 연동 401
12-4-1 가변 저항과 BBC micro:bit의연결 401
12-4-2 가변 저항의 값 읽기 403
찾아보기 407
b. 해외상품 :
1) 해당상품: 아이콘이 부착된 상품
2) 구매금액 700,000원 이상 : 입금확인 후 최소 5일 ~ 최대 2주
3) 구매금액 700,000원 이하 : 입금확인 후 최소 1주 ~ 최대 8주
4) 단, 해외계약업체에 품절되지 않은 상품에 한함
② 구매상품 종류가 많을 경우 예상 준비기간 보다 더 소요 될 수 있습니다.
③ 주문하신 상품은 출고완료 메일 또는 문자 수신 후 익일~최대7일(도서,산간지역)
이내에 수령하실 수 있습니다.
④ 제주(\3,500원)/도서지역(\5,000원)은 배송비가 추가됩니다.
제주,도서, 산간지역은 타 지역보다 배송기간이 길어질 수 있습니다.
⑤ 아이콘이 부착된 상품이라도 국내재고가 있을 수 있습니다.
⑥ 해외 현지 사정으로 인해 공지한 배송기간보다 더 길어 질 수 있습니다.
⑦ 해외상품은 반품/교환/취소가 어려울 수 있으니 신중히 주문하시기 바랍니다.
3. 소비자의 단순변심/착오구매에 의한 청약철회제한안내
① 전자상거래 등에서의 소비자보호에 관한 법률 제17조 제2항 및 동 시행령
제21조에 의한 청약철회 제한 사유에 해당하는 경우 및 기타 객관적으로
이에 준하는 것으로 인정되는 경우에 한합니다.
② 소비자의 단순변심, 착오구매에 의한 교환/반품 시에 발생하는 배송비는
소비자가 부담합니다.
③ 판매자의 실수,제품하자 등의 사유로 인한 배송비는 판매자가 부담합니다.
4. 상품의 교환/반품/보증조건 및 품질보증기준안내
① 상품이 공급된 날(배송완료일)로부터 7일 이내에 교환/반품을 신청 할 수 있습니다.
그러나 아래의 사유에 해당 하는 경우에는 교환/반품 신청이 받아들여지지 않을 수도 있습니다.
a. 소비자의 책임으로 인해 상품이 훼손/멸실 된 경우(확인을 위한 포장훼손제외)
b. 소비자의 사용에 의해 상품의 가치가 현저하게 감소한 경우
c. 시간의 경과로 인해 상품의 재판매가 불가하게 된 경우
d. 판매방식의 특성으로 판매자에게 회복할 수 없는 피해가 발생한 경우 (주문제작 상품, 청약철회상품 등)
② 교환/반품/보증조건 및 품질보증기준은 『소비자기본법』에 따른 소비자분쟁해결기준에 따라 피해를 보상합니다.
5. 소비자피해보상 처리, 재화 등에 대한 불만 및 분쟁처리 안내
판매자 | 본사 | 셀러등급 | |
---|---|---|---|
상호명 | (주)위키모바일(로봇사이언스몰) | 대표자 | 김경식 |
사업자등록번호 | 215-87-14086 | 통신판매신고번호 | 제2008-서울송파-0867호 |
연락처 | 02-2283-1300 | 사업장 소재지 | 서울특별시 송파구 문정동 643-1 엠스테이트 B동704호 |
| ||||||||||||||||||||||||||
쇼핑몰이용안내 | |
전자계약사이트 | |
|
|||||||||
회사명 : (주)위키모바일(로봇사이언스몰)
| 사업자등록번호 : 215-87-14086 [사업자정보확인]
| 주소 : 서울특별시 송파구 법원로 114 엠스테이트 B동704호 통신판매업 신고 : 제2008-서울송파-0867호 | 연락처 : 02-2283-1300 | FAX : 02-2283-1304 | 개인정보보호 책임자 : 김 경식 | 대표자 : 김경식 호스팅사업자 : 가비아 퍼스트몰 | contact : ask@wikimobile.co.kr for more information *로봇사이언스몰의 콘텐츠 저작권은 (주)위키모바일에 있으며 무단·전재·복사 배포를 금합니다. |
|||||||||