사물인터넷을 위한 BBC micro:bit 프로그래밍 / 제이펍
판매가격 : 25,200
상품코드 :[10512]BTM-JPB-10573
배송일 :당일발송
제조사 :제이펍
브랜드 :Jpub [브랜드몰 바로가기]
남은수량 : 6개
구매수량 :
총 금액 :
추가&대량구매 요청 053-588-4080

기본적인 코딩 방법부터 사물인터넷을 위한 하드웨어 개발까지!

BBC micro:bit는 영국의 국영 방송국인 BBC 중심으로 삼성전자, 마이크로소프트, ARM, 랭커스터(Lancaster) 대학교 등의 업체와 단체들이 다년간의 연구 개발을 통해서 개발한 4×5cm 크기의 소형 교육용 보드다. 개발환경으로 파이썬(Python)과 자바스크립트 블록 에디터(JavaScript Block Editor)라는 개발환경을 지원하고 있는데, 자바스크립트 블록 에디터는 MIT의 스크래치와 같은 블록과 자바스크립트를 함께 이용해 작업할 수 있는 환경을 제공하고 있다. 이 책은 마이크로소프트의 자바스크립트 블록 에디터를 이용해 BBC micro:bit 기반의 사물인터넷 애플리케이션을 개발하는 내용을 다룬다.



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×5 LED 매트릭스를 위한 하트 패턴 94
3-2-2 하트 깜빡이기: 블링킹(Blinking) 96
3-2-3 5×5 LED 매트릭스의 밝기 설정 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:bit 367
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



이 책에서는 마이크로소프트의 자바스크립트 블록 에디터에 대해서 살펴보는데, 먼저 이해하기 쉬운 블록에 대해서 알아보고 각 장의 마지막에서 자바스크립트에 대해서 살펴본다. 이를 위해 먼저 이번 장에서는 BBC micro:bit를 사용하는 데 필요한 개발환경에 대해서 알아보고, 프로그래밍에 사용되는 블록들에 대해서 살펴본다. 그리고 ‘Hello World!’ 프로그래밍을 통해 BBC micro:bit를 위한 애플리케이션의 작성 과정에 대해서 살펴보도록 하겠다.
--- p.38

자바스크립트 블록 에디터에서는 프로젝트의 생성과 삭제 등의 기능을 제공한다. 새로운 코드를 작성하고 싶은 경우 그림 2-13의 프로젝트 팝업에서 새 프로젝트(New Project...) 버튼을 클릭한다. 버튼을 클릭하면 새로운 프로젝트를 코딩을 작업할 수 있도록 비어있는 개발환경을 바로 표시된다. 또한, 생성한 프로젝트를 삭제하고 싶은 경우에는 프로젝트 관리 버튼을 누르면 ‘프로젝트 삭제(Delete Project)’ 항목을 선택하면 된다.
--- p.51

이제 앞의 코드를 좀 더 수정해보자. 5×5 LED 매트릭스는 y축에서는 0번의 첫 번째 줄만 사용하고 있다. X축으로 0부터 4까지 LED를 켜고 나서 다음 y축으로 다시 진행하려면 어떤 식으로 수정하면 될까? 이때는 x축의 방향과 y축의 방향으로 두 번의 반복이 필요하다. 그림 5-16의 순서도와 같이 2개의 ‘for’ 루프를 사용하면 되는데, 앞의 코드를 다시 수정해보자.
--- p.159

변수에 값을 설정하기 위해서는 “할당(assign)” 블록이 필요하다. “산술 연산” 블록은 혼자서는 사용할 수 없고, “할당” 블록이나 “변환(change)” 블록을 사용해야 하고, 현재 변수에 설정된 값을 “획득(get)” 블록을 이용해서 가져올 수 있다. 블록과 자바스크립트에서는 변수와 산술 연산자 등을 이용해서 다양한 계산을 지원하고 있다.
--- p.255

앞의 블록에서 주사위 게임은 “기본(Basic)” 코딩 블록의 “LED 표시(showLeds)” 함수를 사용해서 간단하게 스크린의 LED 패턴을 설정하였다. 그렇지만 여기에서는 2장에서 설명한 사용자 함수와 “Led” 코딩 블록의 “표시(plot)” 함수를 사용해서 주사위를 만들어보겠다. 주사위의 눈을 보면 앞에서 설명한 것과 같이 ‘3’은 ‘1’과 ‘2’를 동시에 표시하면 되고, ‘5’는 ‘4’와 ‘1’을 동시에 표시하면 된다.

1. 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를 이용한 스마트폰의 연동



▶하단의 배너를 클릭하시면 hardwares.kr로 이동됩니다







견적요청
구매대행
퀵/방문수령
후불결제
기술문의