본문 바로가기

도서 소개

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

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

아두이노 분야 10년 베스트셀러의 최신 개정판!

 

도서구매 사이트(가나다순)

교보문고 / 도서11번가 / 알라딘 / 예스이십사 / 인터파크 / 쿠팡

 

출판사 제이펍
저작권사 O’Reilly Media
원서명 Arduino Cookbook(3rd Edition) (ISBN 9781491903520)
도서명 레시피로 배우는 아두이노 쿡북(제3판)
부제 프로젝트를 시작하고, 확장하고, 강화하기 위한 레시피
지은이 마이클 마골리스, 브라이언 젭슨, 니콜라스 로버트 웰딘
옮긴이 박진수
감수자 (없음)
시리즈 아이러브 로봇(I♥Robot)
출판일 2021년 9월 15일
페이지 792쪽
판 형 46배판변형(188*245*35.8)
제 본 무선(soft cover)
정 가 40,000원
ISBN 979-11-91600-09-4 (93000)
키워드 아두이노 / 아두이노 우노 / 마이크로컨트롤러 / 스케치 / 사물인터넷 / IoT / 아두이노 라이브러리
분 야 컴퓨터공학 / 전기전자공학 / 마이크로컨트롤러

 

관련 사이트
저작권사 해당 도서 페이지
아마존 해당 도서 페이지

관련 포스트
2021.09.03 - [출간 전 책 소식] - 또 하나의 아두이노 바이블!


관련 시리즈
아이러브 로봇(I♥Robot)

관련 도서
아두이노 바이블: 상상이 현실이 되는 마법 스케치
스케치로 시작하는 아두이노 프로그래밍(제2판)
ATmega128로 배우는 마이크로컨트롤러 프로그래밍

관련 파일 다운로드
아두이노 스케치
프로세싱 스케치




강의보조 자료(교재로 채택하신 분들은 메일(textbook@jpub.kr)을 보내주시면 다음의 자료를 보내드리겠습니다.)
■ 본문의 그림과 표

샘플 PDF(앞표지, 차례, 옮긴이 머리말, 이 책에 대하여, 혼동하기 쉬운 번역어 대조표, 베타리더 후기, 1장 '출발선에 서기' 일부, 5장 '간단한 디지털/아날로그 입력' 일부, 10장 '외부 장치 원격 제어' 일부)

ArduinoCookbook(3e).pdf
5.49MB

 

정오표 페이지
https://jpub.tistory.com/1235

 

도서구매 사이트(가나다순)

교보문고 / 도서11번가 / 알라딘 / 예스이십사 / 인터파크 / 쿠팡

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

아두이노 분야 10년 베스트셀러의 최신 개정판!

 

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

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

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

 

    • 디지털 신호와 아날로그 신호를 읽어 내는 데 필요한 기본 기술을 배울 수 있다.
    • 다양한 입력 장치와 센서를 아두이노에 달아 사용해 본다.
    • 디스플레이 장치를 구동하고, 소리를 합성하고, 다양한 모터를 제어해 본다.
    • 텔레비전을 비롯한 다양한 가전 제품을 원격으로 제어해 본다.
    • 시간 지연이나 시간 측정을 처리하는 기술을 배운다.
    • 고급 코딩 기법과 메모리 처리 기법을 적용해 본다.

 

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

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

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

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

차례
옮긴이 머리말 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

■ 제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

네이버 책 / 포스트 / 유튜브 / 인스타그램 / 트위터 / 페이스북