레시피로 배우는 아두이노 쿡북 (제3판)

고객평점
저자마이클 마골리스 외
출판사항제이펍, 발행일:2021/09/14
형태사항p.762 B5판:25
매장위치자연과학부(B2) , 재고문의 : 051-816-9500
ISBN9791191600094 [소득공제]
판매가격 40,000원   36,000원  (인터넷할인가:10%)
포인트 1,800점
배송비결제주문시 결제
  • 주문수량 

총 금액 : 0원

책 소개

200개 이상의 다양한 레시피가 가득한 아두이노 백과사전!


현실 세계와 상호작용하는 장치를 만들고 싶은가? 아두이노 마이크로컨트롤러와 프로그램 개발 환경을 실험해 보고자 하는 사람들에게 적합한 이 책에는 IoT 솔루션, 환경 모니터링, 위치 인식, 접촉/소리/열/빛에 대응할 수 있는 제품 개발처럼 다양한 제품이나 시제품을 제작하는 데 필요한 200개 이상의 요령과 기법이 담겨 있다.


아두이노 1.8 릴리스에 맞춰 새롭게 보강한 이 책(제3판)의 레시피에는 엔지니어, 디자이너, 예술가, 학생, 취미 개발자가 프로젝트를 시작하고, 확장하고, 보강하는 데 도움이 될 만한 실용 예제와 지침이 다양하게 실려 있다.


- 아두이노 보드와 필수 소프트웨어 개념을 빠르게 익힐 수 있다.

- 디지털 신호와 아날로그 신호를 읽어 내는 데 필요한 기본 기술을 배울 수 있다.

- 다양한 입력 장치와 센서를 아두이노에 달아 사용해 본다.

- 디스플레이 장치를 구동하고, 소리를 합성하고, 다양한 모터를 제어해 본다.

- 텔레비전을 비롯한 다양한 가전 제품을 원격으로 제어해 본다.

- 시간 지연이나 시간 측정을 처리하는 기술을 배운다.

- 고급 코딩 기법과 메모리 처리 기법을 적용해 본다. 

작가 소개

지은이 : 마이클 마골리스

환경과 상호작용하는 하드웨어와 소프트웨어를 전문적으로 개발해 온, 실시간 컴퓨팅 분야의 공학자다. 소니, 마이크로소프트 및 루슨트/벨 연구소에서 선임 기술자로 30년 이상의 경력을 지녔으며, 아두이노 1.0 배포판에 포함되어 있는 라이브러리와 핵심 소프트웨어를 개발하기도 했다.


지은이 : 브라이언 젭슨

링크드인 러닝의 콘텐츠 관리자로 일하며 디자인과 엔지니어링 과정을 관리하고 있다. 또한, 프로비던스 긱스(Providence Geeks)의 공동 주최자이자 내셔널 메이커 페어(National Maker Faire)를 기획하고 제작한 팀의 창립 멤버이며, 프로비던스 미니 메이커 페어(Providence Mini Maker Faire)의 공동 프로듀서이기도 하다. 한편, 비영리 커뮤니티 아트 센터인 AS220 및 로드아일랜드 컴퓨터 박물관에서 실습 이벤트와 워크숍 등을 통해 전자/디지털 제작에 대한 지식을 공유하고 전파하고 있다.


지은이 : 니콜라스 로버트 웰딘

이스트 런던 대학교(University of East London)에 본사를 둔 릭스 센터(Rix Centre)에서 일하면서 학습에 어려움이 있는 사람들이 온라인과 컴퓨터를 손쉽게 이용할 수 있는 기술을 연구하고 있다. 또한, 팅커 잇(Tinker It!)의 선임 기술자로서 유연하고 사용하기 쉬운, 오픈소스 전자기기 프로토타이핑 플랫폼인 아두이노와 관련된 다양한 기술 프로젝트를 수행하고 있다. 그 밖의 프로젝트에서는 패딩턴 아츠(Paddington Arts), 오일리 카트 시어터 컴퍼니(Oily Cart Theatre Company) 및 청각 장애인을 위한 데피니틀리 시어터(Deafi nitely Theatre)와 협업하기도 했다.


옮긴이 : 박진수

정보기술(IT)과 관련하여 다양한 개발·저술·번역·기술 편집·기술 교정·자문·발표·기고를 해왔으며, 1인 기업을 세웠다가 닫기도 했다. 최근에는 주로 인공지능과 관련한 번역·자문·강의를 하고 있다. 저술하고 번역한 책들이 많아서 좁은 지면에 모두 나열하기 어렵지만, 원하는 독자라면 이 책들을 온라인 서점에서 역자의 이름으로 쉽게 검색해서 찾아볼 수 있을 것이다. 제이펍에서 출간한 번역서로는 《케라스 창시자의 딥러닝 with R》, 《R로 배우는 텍스트 마이닝》, 《파이썬으로 배우는 응용 텍스트 분석》, 《검색을 위한 딥러닝》, 《객체지향 사고 프로세스》, 《레시피로 배우는 아두이노 쿡북(제3판)》 등이 있다.

목 차

옮긴이 머리말 xi

이 책에 대하여 xiii

혼동하기 쉬운 번역어 대조표 xxv

베타리더 후기 xxviii


1장 출발선에 서기 1

1.0 소개 1

1.1 통합 개발 환경(IDE) 설치 6

1.2 아두이노 보드 구성 11

1.3 통합 개발 환경에서 아두이노 스케치를 준비하기 13

1.4 Blink 스케치를 보드에 올려 실행해 보기 16

1.5 스케치 작성 및 저장 18

1.6 처음으로 해볼 만큼 쉬운 아두이노 프로젝트 21

1.7 비표준 보드용 아두이노 사용 26

1.8 32비트 아두이노(또는 호환 제품) 사용 29


2장 아두이노 프로그래밍 33

2.0 소개 33

2.1 전형적인 아두이노 스케치 34

2.2 간단한 기본 데이터 형식(변수) 사용 36

2.3 부동소수점 수 사용 39

2.4 배열(값의 모음) 활용 42

2.5 아두이노 문자열 함수 사용 46

2.6 C 방식 문자열 사용 52

2.7 쉼표 구분 텍스트의 그룹별 분리 54

2.8 숫자를 문자열로 바꾸기 57

2.9 문자열을 숫자로 바꾸기 60

2.10 코드를 기능별 블록으로 나눠 구조화하기 62

2.11 함수에서 여러 값을 반환하기 67

2.12 조건에 맞춰 행동하게 하기 70

2.13 연속 문장 반복 실행 72

2.14 카운터 이용 문장 반복 74

2.15 루프 밖으로 빠져 나가기 77

2.16 단일 변숫값에 따라 여러 조치를 하기 79

2.17 문자와 수치 간 비교 81

2.18 문자열 간 비교 84

2.19 논리적 비교 86

2.20 비트 단위 연산 87

2.21 연산과 할당을 동시에 하기 90


3장 수학적 연산자 91

3.0 소개 91

3.1 덧셈, 뺄셈, 곱셈, 나눗셈 91

3.2 값의 증감 93

3.3 나눗셈과 나머지 95

3.4 절댓값 알아내기 97

3.5 수치 값 범위 제한 98

3.6 최솟값과 최댓값 구하기 98

3.7 거듭제곱하기 100

3.8 제곱근 구하기 101

3.9 부동소수점 수를 올림하거나 내림하기 101

3.10 삼각 함수 사용 103

3.11 난수 생성 104

3.12 비트 값 지정 및 읽기 107

3.13 비트 시프트 111

3.14 int/long 형식 데이터의 상위/하위 바이트 추출 113

3.15 상위/하위 바이트를 사용해 int/long 형식 값을 구성하기 115


4장 직렬 통신 118

4.0 소개 118

4.1 정보를 아두이노에서 컴퓨터로 송신하기 126

4.2 서식이 있는 텍스트나 수치 데이터를 아두이노에서 송신하기 130

4.3 아두이노에서 직렬 데이터를 수신하기 135

4.4 여러 텍스트 필드를 단일 메시지로 바꿔 아두이노에서 송신하기 140

4.5 여러 텍스트 필드로 이뤄진 단일 메시지를 아두이노에서 수신하기 147

4.6 아두이노로부터 2진 데이터를 송신하기 151

4.7 아두이노가 보내온 2진 데이터를 컴퓨터에서 수신하기 156

4.8 2진 값을 프로세싱에서 아두이노로 송신하기 159

4.9 여러 아두이노 핀 값 송신 162

4.10 아두이노 데이터 로그를 컴퓨터 파일에 기록 166

4.11 데이터를 여러 직렬 장치로 송신하기 170

4.12 여러 장치로부터 직렬 데이터를 수신 174

4.13 아두이노와 라즈베리 파이 동시 사용 180


5장 간단한 디지털/아날로그 입력 185

5.0 소개 185

5.1 스위치 사용 189

5.2 외부 저항기 없이 스위치를 사용 193

5.3 스위치 눌림 안정적 검출(바운스 제거) 195

5.4 스위치 눌림 시간 지정 199

5.5 키패드 읽기 204

5.6 아날로그 값 읽기 207

5.7 값 범위 변경 209

5.8 아날로그 입력 내용을 일곱 개 이상 읽기 212

5.9 최대 5V 전압 측정 215

5.10 전압 변화 대응 218

5.11 5V 초과 전압 측정(전압 분배기) 220


6장 센서 입력 수신 223

6.0 소개 223

6.1 내장형 센서가 많이 있는 아두이노가 필요한 경우 226

6.2 움직임 감지 230

6.3 빛 검출 232

6.4 생명체 움직임 감지 235

6.5 거리 측정 237

6.6 정확한 거리 측정 243

6.7 진동 감지 245

6.8 소리 감지 247

6.9 온도 측정 252

6.10 RFID(NFC) 태그 판독 256

6.11 회전 운동 추적 259

6.12 인터럽트가 많아서 번잡한 스케치에서 회전 운동을 추적하기 262

6.13 마우스 사용 265

6.14 GPS 위치 획득 269

6.15 자이로스코프 기반 회전 감지 275

6.16 방향 검출 278

6.17 가속도 판독 281


7장 시각적 출력 284

7.0 소개 284

7.1 LED 연결과 사용 288

7.2 LED의 휘도 조절 291

7.3 고전력 LED 구동 293

7.4 LED 색상 조정 296

7.5 다수의 컬러 LED 제어 299

7.6 다중 LED 시퀀싱: 막대그래프 만들기 302

7.7 다중 LED 시퀀싱: 추격 시퀀스 만들기 307

7.8 멀티플렉싱 방식 LED 매트릭스 제어 309

7.9 LED 매트릭스에 이미지를 표시 313

7.10 LED 매트릭스 제어: 찰리플렉싱 316

7.11 7 세그먼트 LED 디스플레이 장치 구동 323

7.12 자리가 여러 개인 7 세그먼트 LED 디스플레이 구동: 멀티플렉싱 325

7.13 핀을 최소로 사용해 7 세그먼트 LED 디스플레이 장치에 숫자 여러 개를 표시하기 328

7.14 MAX72xx 시프트 레지스터를 사용해 LED 어레이 제어하기 330

7.15 PWM 확장 칩을 사용해 아날로그 출력 개수 늘리기 333

7.16 아날로그 패널 미터를 디스플레이 장치로 사용하기 335


8장 물리적 출력 338

8.0 소개 338

8.1 서보를 사용해 회전 위치 제어하기 341

8.2 포텐쇼미터 및 센서 기반 서보 회전 제어 343

8.3 연속 회전 서보 속도 제어 345

8.4 컴퓨터 명령 기반 서보 제어 347

8.5 브러시리스 모터 구동(취미용 스피드 컨트롤러 사용) 349

8.6 솔레노이드 및 릴레이 제어 350

8.7 물체 진동 352

8.8 트랜지스터 기반 브러시 모터 구동 355

8.9 H 브리지 기반 브러시 모터 방향 제어 356

8.10 H 브리지 기반 브러시 모터 방향/속도 제어 360

8.11 센서 기반 브러시 모터 방향/속도 제어 362

8.12 바이폴라 스테퍼 모터 구동 368

8.13 바이폴라 스테퍼 모터 구동(이지드라이버 보드 사용) 372

8.14 ULN2003A 드라이버 칩 기반 유니폴라 스테퍼 모터 구동 376


9장 오디오 출력 379

9.0 소개 379

9.1 음 연주 382

9.2 짧은 선율 연주 385

9.3 2개 동시적 음 생성 387

9.4 PWM을 사용해 간섭 없이 가청음을 생성 389

9.5 미디 제어 392

9.6 오디오 신시사이저 만들기 396

9.7 고품질 오디오 합성 398


10장 외부 장치 원격 제어 401

10.0 소개 401

10.1 적외선 리모컨에 반응하게 하기 402

10.2 적외선 리모컨 신호 디코딩 405

10.3 리모컨 신호 흉내 내기 409

10.4 디지털 카메라 제어 412

10.5 원격 제어 스위치를 해킹해 AC 장치를 제어하기 415


11장 디스플레이 장치 사용 419

11.0 소개 419

11.1 텍스트용 LCD 장치 연결과 사용 420

11.2 서식 있는 텍스트 구성 424

11.3 커서 점멸과 디스플레이 장치 켬/끔 427

11.4 텍스트 스크롤 429

11.5 특수 기호 표시 432

11.6 사용자 정의 문자 구성 435

11.7 단일 문자보다 더 큰 기호 표시 437

11.8 단일 문자보다 더 작은 픽셀 표시 440

11.9 그래픽 LCD 선택 443

11.10 풀컬러 LCD 디스플레이 제어 445

11.11 흑백 OLED 디스플레이 제어 449


12장 시간과 날짜 사용 455

12.0 소개 455

12.1 millis를 사용해 지속시간 알아내기 455

12.2 스케치에 일시정지 기능 추가 457

12.3 펄스 지속시간을 더 정밀하게 측정하기 461

12.4 아두이노 기반 시계 463

12.5 주기적으로 함수를 호출하기 위한 알람 생성 471

12.6 실시간 클록 사용 475


13장 I2C와 SPI를 사용한 통신 480

13.0 소개 480

13.1 여러 I2C 장치 연결 486

13.2 여러 SPI 장치 연결 490

13.3 I2C 집적회로 다루기 493

13.4 I2C 포트 확장기를 사용해 입출력 늘리기 497

13.5 여러 아두이노 보드 간 통신 500

13.6 넌처크 가속도계 사용 505


14장 간단한 무선 통신 512

14.0 소개 512

14.1 저가형 무선 모듈 기반 메시지 송신 512

14.2 ZigBee/802.15.4 네트워크와 아두이노 연결 521

14.3 특정 XBee 기반 메시지 송신 528

14.4 XBee 간 센서 데이터 송신 531

14.5 XBee에 연결된 액추에이터 활성화 537

14.6 구형 블루투스 장치 통신 542

14.7 저전력 블루투스 장치 통신 545


15장 와이파이와 이더넷 549

15.0 소개 549

15.1 이더넷 네트워크 연결 552

15.2 IP 주소 자동 획득 556

15.3 간단한 메시지 송수신(UDP) 558

15.4 와이파이 내장 아두이노 사용 566

15.5 저가형 모듈 기반 와이파이 연결 570

15.6 웹 응답 내용에서 데이터 추출 575

15.7 XML 기반 웹 서버 데이터 요청 580

15.8 아두이노 기반 웹 서버 구성 583

15.9 웹 요청 처리 589

15.10 특정 페이지로 들어오는 수신 요청 처리 593

15.11 HTML 기반 웹 서버 응답 형식 지정 598

15.12 폼 기반 웹 데이터 요청(POST) 603

15.13 데이터가 많은 웹 페이지 제공 607

15.14 트위터 메시지 송신 614

15.15 사물 인터넷용 데이터 교환 617

15.16 MQTT 브로커에 데이터 공개 618

15.17 MQTT 브로커에서 데이터 구독 620

15.18 인터넷 시간 서버에서 시간을 알아내기 622



16장 라이브러리 사용, 수정, 작성 629

16.0 소개 629

16.1 내장 라이브러리 사용 630

16.2 제3자 라이브러리 설치 633

16.3 라이브러리 수정 635

16.4 자신만의 라이브러리 제작 639

16.5 다른 라이브러리를 사용하는 라이브러리를 만들기 646

16.6 아두이노 1.0용 제3자 라이브러리 업데이트 652


17장 고수준 코딩 및 메모리 처리 654

17.0 소개 654

17.1 아두이노 빌드 프로세스 656

17.2 사용 가능 RAM과 사용된 RAM 알아내기 659

17.3 프로그램 메모리 내의 수치 저장과 인출 663

17.4 프로그램 메모리 내의 문자열 저장과 인출 666

17.5 수 대신 #define/const 사용 668

17.8 조건부 컴파일 669


18장 컨트롤러 칩 하드웨어 사용 672

18.0 소개 672

18.1 데이터의 EEPROM 메모리 내 저장 677

18.2 핀 상태 변경 시 동작 자동화 681

18.3 일정 주기 작업 수행 684

18.4 타이머 펄스 폭 설정과 지속시간 설정 686

18.5 펄스 발생기 제작 689

18.6 타이머의 PWM 주파수 변경 691

18.7 펄스 개수 세기 694

18.8 펄스 정밀 측정 696

18.9 아날로그 값 간이 측정 699

18.10 배터리 소모 줄이기 701

18.11 디지털 핀 간이 설정 704

18.12 프로그래머 기반 스케치 업로드 707

18.13 아두이노 부트로더 교체 709

18.14 PC나 맥에서 마우스 커서 옮기기 710


부록 A 전자 부품 714

부록 B 계통도와 데이터시트 사용 719

부록 C 회로 구축 및 연결 725

부록 D 소프트웨어 문제 해결 729

부록 E 하드웨어 문제 해결 734

부록 F 디지털 핀과 아날로그 핀 737

부록 G 아스키와 확장 문자 세트 741

찾아보기 746

역자 소개


01. 반품기한
  • 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
  • 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품 배송비
반품사유 반품 배송비 부담자
단순변심 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다.
상품의 불량 또는 오배송 고객 부담이 아닙니다.
03. 배송상태에 따른 환불안내
환불안내
진행 상태 결제완료 상품준비중 배송지시/배송중/배송완료
어떤 상태 주문 내역 확인 전 상품 발송 준비 중 상품이 택배사로 이미 발송 됨
환불 즉시환불 구매취소 의사전달 → 발송중지 → 환불 반품회수 → 반품상품 확인 → 환불
04. 취소방법
  • 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
  • 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
환불시점
결제수단 환불시점 환불방법
신용카드 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) 신용카드 승인취소
계좌이체 실시간 계좌이체 또는 무통장입금
취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준)
계좌입금
휴대폰 결제 당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소
전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준)
당일취소 : 휴대폰 결제 승인취소
익월취소 : 계좌입금
포인트 취소 완료 후, 당일 포인트 적립 환불 포인트 적립
06. 취소반품 불가 사유
  • 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
  • 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
  • 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
  • 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
  • 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
  • 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.

환불불가
상품군 취소/반품 불가사유
의류/잡화/수입명품 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우
계절상품/식품/화장품 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
가전/설치상품 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.)
자동차용품 상품을 개봉하여 장착한 이후 단순변심의 경우
CD/DVD/GAME/BOOK등 복제가 가능한 상품의 포장 등을 훼손한 경우
내비게이션, OS시리얼이 적힌 PMP 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우
노트북, 테스크탑 PC 등 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우