레시피로 배우는 아두이노 쿡북
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
로그아웃 : '서울시 종로구 종로1' 주소 기준
이달의 꽃과 함께 책을 받아보세요!
1권 구매 시 결제 단계에서 적용 가능합니다.
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

아두이노 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
책 속으로
이 책의 이번 판(즉, 제3판)에서는 아두이노 1.8.x에 맞춰 내용을 보강하고 검증했다. 이번 3판용으로 내려받을 수 있는 코드를 개정해 두 개의 저장소에 올려 두었다. 그중 한 곳에는 아두이노 스케치(https://github.com/bjepson/Arduino-Cookbook-3ed-INO)를 모두 올려 두었고, 다른 한 곳에서는 프로세싱 스케치를 모두 올려 두었다(https://github.com/bjepson/Arduino-Cookbook-3ed-PDE). _xix쪽
크기가 4인 배열의 마지막 원소를 가리킬 때 array[3]처럼 표현하는 것이 이상해 보일 수 있겠지만, 첫 번째 원소를 array[0]으로 표현하고, 두 번째 원소를 array[1]로 표현하기로 약속했기 때문에 생기는 현상이다. 그러므로 우리가 예로 드는 배열의 네 개의 원소들을 각기 inputPins[0], inputPins[1], inputPins[2], inputPins[3]으로 나타낼 수 있다. _45쪽
parseInt와 parseFloat 메서드는 Serial로부터 수치를 추출하는 일을 단순화해 주는데, 이것을 사용해 두 자리 이상인 수number들을 수신할 수 있다. (또한 Ethernet 클래스와 Stream 클래스에서 파생된 그 밖의 객체들과도 더불어 작동하며, 네트워킹 객체들을 사용한 스트림 파싱에 관해 더 알고 싶다면 15장의 ‘소개’ 부분을 참고하자.) _136쪽
우노, 레오나르도, 메가 보드에 달린 아두이노 핀에서는 최대 40㎃에 해당하는 전류를 공급할 수 있다. 이는 일반적인 중간 광도 LED에는 충분하지만 단일 핀에 연결된 고휘도 LED나 다중 LED를 구동하기에는 충분하지 않다. 레시피 7.3은 트랜지스터를 사용해 LED를 통과하는 전류를 늘리는 방법을 보여 준다. _287쪽
스케치는 배열로부터 부호를 가져와 전달하고, 부호 뒤에 따라오는 수는 해당 수가 얼마나 많은 비트로 이뤄져 있는지를 함수에 알려준다. 스케치 상단의 irKeyCodes 정의 부분에 나오는 숫자 시작 부분의 0x는 부호가 16진수로 작성되었다는 점을 의미한다(16진수에 관해 더 알고 싶다면 2장을 참고하자). 16진수를 이루는 각 문자는 4비트 값을 나타낸다. 여기서 부호가 여덟 글자로 이뤄져 있으므로 그 총 길이는 32비트가 된다. _412쪽
이제 XBee 모듈을 구성했으므로 XBee들 중 하나를 선택하고 연결된 직렬 터미널을 닫고 컴퓨터에서 분리하자. 다음으로 이 레시피 해법에 표시된 코드로 아두이노를 프로그래밍하고 그림 14-2에 표시한 대로 XBee를 아두이노에 연결하자. 다른 XBee에 연결된 XCTU 콘솔에 문자를 입력하면 다시 문자가 표시된다(a를 입력하면 aa가 표시됨). 아두이노가 문자를 수신하면 내장형 LED가 깜박인다. _527쪽
기본정보
ISBN | 9791191600094 | ||
---|---|---|---|
발행(출시)일자 | 2021년 09월 15일 | ||
쪽수 | 792쪽 | ||
크기 |
190 * 245
* 39
mm
/ 1538 g
|
||
총권수 | 1권 | ||
시리즈명 |
아이러브 로봇
|
||
원서(번역서)명/저자명 | Arduino Cookbook/Michael Margolis |
Klover
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집 (0)
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)
구매 후 리뷰 작성 시, e교환권 100원 적립