책소개
전공 불문 코딩 입문자, 코딩을 포기하고 싶지 않은 자를 위한 책:미래의 교육방식으로 흔히 STEM 교육을 말합니다. 즉, 과학(Science), 기술(Technology), 공학(Engineering), 수학(Mathematics)을 융합한 교육을 의미합니다. P5.js(→프로세싱의 웹 버전)와 아두이노는 원래 코딩에 익숙하지 않은 디자인이나 예술 전공의 학생들을 위하여 각각 시각적, 물리적 상호 작용에 중점을 둔 S/W 및 H/W 코딩 언어로 탄생하였습니다. 그러므로 P5.js와 아두이노는 STEM에 인문학과 예술을 의미하는 Art를 더한 STEAM 교육에 적합한 코딩 언어입니다.
Art 즉, 인문학과 예술은 인간의 창의성을 개발할 수 있는 수단으로서 인간만이 가능한 의미 있는 영역이라고 말할 수 있을 뿐만 아니라 창의적인 교육의 핵심 요소 중 하나입니다. 그 이유로, 인문학과 예술에는 해답이 하나 이상 또는 해답이 없는 문제가 대부분이므로 창의적인 사고가 무엇보다 필요하기 때문입니다. 창의적 사고를 촉진하는 교육 효과를 누리는 동시에 과학, 기술, 공학, 수학과 예술 사이의 절묘한 접점을 직접 체험하고 싶다면 P5.js와 아두이노를 연동한 피지컬 컴퓨팅(Physical Computing)으로 시작하는 것은 좋은 선택이 될 수 있습니다. P5.js와 아두이노를 배우는 과정은 이러한 융합과 창의의 핵심을 체득하는 시간이 될 것입니다. 그리고 무엇보다 재미있습니다.^^ For Fun!
목차
01 시작
1.1 코딩 학습 방법 15
1.2 p5.js란? 20
1.2.1 p5.js 설정 22
1.2.2 p5.js 코딩 환경 24
1.2.3 p5.js 실행 27
1.3 아두이노란? 32
1.3.1 아두이노 설치 34
1.3.2 아두이노 코딩 환경 36
1.3.3 아두이노 실행 38
02 표현
2.1 p5.js: 표현 42
2.1.1 출력 화면의 크기 42
2.1.2 점과 선의 표현 46
2.1.3 원과 사각형의 표현 49
2.1.4 문자의 표현 51
2.1.5 색상의 표현 53
2.1.6 원호의 표현 60
2.2 아두이노: 표현 63
2.2.1 입·출력 부품 63
2.2.2 입·출력 부품의 핀번호 설정 64
2.2.3 LED 점멸 66
03 변수
3.1 p5.js: 변수 71
3.1.1 변수 선언과 초기화 71
3.1.2 변수와 연산 75
3.1.3 변수 기반 움직임 표현 97
3.1.4 전역변수와 지역변수 104
3.1.5 시스템변수와 다양한 움직임 구현 106
3.2 아두이노: 변수 118
3.2.1 시리얼 통신으로 변숫값 확인 118
3.2.2 변수 기반 각종 부품의 특성 확인 126
3.2.3 전체 회로도 152
3.2.4 변수 기반 제어 154
04 조건
4.1 p5.js: 조건 167
4.1.1 if문 167
4.1.2 if-else문 175
4.1.3 문 176
4.1.4 if문과 시스템 변수 179
4.1.5 중첩 if문 186
4.1.6 switch문 188
4.2 아두이노: 조건 191
4.2.1 if문, if-else문 191
4.2.2 문 213
4.2.3 중첩 if문 214
4.2.4 switch문 217
05 반복
5.1 p5.js: 반복 224
5.1.1 for문 224
5.1.2 while문, do-while문 228
5.1.3 for문과 상호작용 231
5.1.4 중첩 for문 233
5.2 아두이노: 반복 235
5.2.1 for문 235
5.2.2 while문, do-while문 244
5.2.3 중첩 for문 245
06 배열
6.1 p5.js: 배열 250
6.1.1 1차원 배열 250
6.1.2 배열과 반복문 255
6.1.3 2차원 배열 264
6.2 아두이노: 배열 267
6.2.1 1차원 배열 267
6.2.2 배열과 반복문 269
6.2.3 2차원 배열 282
07 함수
7.1 p5.js: 함수 285
7.1.1 함수 유형 285
7.1.2 함수 유형1 288
7.1.3 함수 유형2 290
7.1.4 함수 유형3 293
7.1.5 함수 유형4 296
7.1.6 이벤트 함수 300
7.2 아두이노: 함수 308
7.2.1 함수 유형1 308
7.2.2 함수 유형2 310
7.2.3 함수 유형3 313
7.2.4 함수 유형4 314
7.2.5 함수 유형 응용 316
08 비트
8.1 비트 연산 332
8.2 비트 처리 340
09 시리얼 통신
9.1 시리얼 통신 351
9.2 문자 송·수신 355
9.3 문자열 송·수신 358
9.4 정수 송·수신 364
10 P5.js→아두이노
10.1 연동 실습을 위한 준비 375
10.2 정수 송·수신1 381
10.3 정수 송·수신2 398
10.4 문자열 송·수신 405
10.5 복수 데이터 송·수신 408
11 아두이노→P5.js
11.1 정수 송·수신1 420
11.2 정수 송·수신2 437
11.3 문자열 송·수신 447
11.4 센서값 분리 송·수신 452
11.5 복수 센서값 송·수신1 460
11.6 복수 센서값 송·수신2 470
11.7 파일 처리 477
12 아두이노↔P5.js
12.1 P5.js→아두이노 핸드쉐이킹(Handshaking) 498
12.2 아두이노→P5.js 핸드쉐이킹(Handshaking) 509
12.3 아두이노↔P5.js 핸드쉐이킹(Handshaking) 524
마무리
마무리 549