스크랩

구간

아두이노 바이블 vol. 2 유무선 연결과 입력 장치 편

허경용 저 | 제이펍 | 2021년 06월

미리보기 북트리

정가
$44.00
판매가
$35.64 (19%↓) 최저가 보상
적립금
$0.71 (2%P)
출고예상일
2026년 10월 09일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9791191600032 / 456쪽 188 x 245 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

  • 23,400
  • 31,500
  • 28,800
  • 21,600

책 소개

반디앤루니스 리뷰

아두이노로 상상할 수 있는 A부터 Z까지!

《아두이노 바이블》 제2권 ‘유무선 연결과 입력 장치 편’은 총 19개의 장을 통해 유무선 통신을 통해 아두이노를 확장하고 다양한 입력 장치를 통해 정보를 수집하는 방법을 살펴본다.

출판사 리뷰

2권 ‘유무선 연결과 입력 장치 편’의 주요 내용 CHAPTER 18 SPI 통신 _ SPI 통신의 원리를 살펴보고 SPI 통신을 사용하는 외장 EEPROM의 사용 방법을 알아본다. CHAPTER 19 I2C 통신 _ I2C 통신의 원리와 I2C 통신을 사용하는 RTCReal Time Clock의 사용 방법을 알아본다. CHAPTER 20 1-와이어 통신 _ 1-와이어 통신 방법과 1-와이어 통신을 사용하는 온도 센서와 iButton의 사용 방법을 알아본다. CHAPTER 21 블루투스 _ 블루투스 시리얼 모듈을 사용하여 스마트폰, 컴퓨터 등과 통신하는 방법을 알아본다. CHAPTER 22 지그비 _ 지그비 모듈을 사용하여 여러 노드를 연결하고 노드 사이에 데이터를 주고받는 방법을 알아본다. CHAPTER 23 적외선 통신 _ 적외선 데이터 통신의 원리와 리모컨 데이터를 수신하고 이를 활용하는 방법을 알아본다. CHAPTER 24 RFID _ RFID의 동작 방식과 RFID에서 데이터를 읽고 쓰는 방법을 알아본다. CHAPTER 25 BLE _ 블루투스 4.0 BLE를 사용하여 연결 기반의 통신을 수행하는 방법과 연결 없이 다수의 기기가 데이터를 수신할 수 있도록 데이터를 게시하는 방법을 알아본다. CHAPTER 26 USB 호스트 _ USB 호스트 쉴드를 사용하여 마우스와 키보드를 아두이노에 연 결하고 입력 장치로 사용하는 방법을 알아본다. CHAPTER 27 아두이노-아두이노 연결 _ UART, 블루투스, SPI, I2C 등의 유무선 통신 방법을 사용하여 2개 이상의 아두이노를 연결하고 데이터를 주고받는 방법에 대해 알아본다. CHAPTER 28 입출력 확장 _ 아두이노에서 디지털 및 아날로그 입출력 핀 확장을 위해 사용할 수 있는 다양한 전용 칩의 사용 방법을 알아본다. CHAPTER 29 센서 사용하기 _ 아날로그와 디지털 데이터를 출력하는 센서와 센서 모듈을 사용하여 주변 환경과 상호 작용하는 방법을 살펴본다. CHAPTER 30 로터리 인코더 _ 로터리 인코더 중에서 상대적인 움직임 정도를 알아낼 수 있는 증분 인코더의 원리와 사용 방법을 알아본다. CHAPTER 31 거리 측정 센서 _ 아두이노에서 흔히 사용되는 초음파 거리 센서와 적외선 거리 센서의 원리 및 사용 방법을 알아본다. CHAPTER 32 가속도 자이로 센서 _ 가속도와 각속도를 함께 측정할 수 있는 MPU-6050 센서 모듈로부터 데이터를 얻는 방법과 얻어진 데이터를 활용하여 기울어진 정도를 얻는 방법에 대해 알아본다. CHAPTER 33 디지털 온습도 센서 _ 정밀도가 각기 다른 DHT 시리즈 디지털 온습도 센서의 사용 방법을 살펴본다. CHAPTER 34 키패드 _ 키패드의 키 입력을 검사하는 대표적인 방법인 키 스캔 방법의 원리와 한계를 살펴보고 이를 해결하는 방법 역시 알아본다. CHAPTER 35 GPS _ GPS 리시버를 사용하여 현재 위치와 시간을 알아내는 방법을 살펴본다. CHAPTER 36 미니 프로젝트: 정수 계산기 _ 키패드와 텍스트 LCD를 사용하여 사칙 연산이 가능한 정수 계산기를 만들어본다.

저자 소개

  • 저자 : 허경용
저자 : 허경용
연세대학교 전자공학과 학사와 동(同) 대학원 석사를 취득하였다. 이후 플로리다대학교(University of Florida)에서 컴퓨터공학 박사를 취득하였으며, 현재 동의대학교 전자공학과 교수로 재직 중이다. 저서로는 《허교수의 ARM Mbed 프로그래밍 입문》(2019), 《따라 하면서 배우는 마이크로컨트롤러》(2019), 《사물인터넷을 위한 ESP8266 프로그래밍》(2017), 《ATmega128로 배우는 마이크로컨트롤러 프로그래밍》(2016), 《따라 하면서 배우는 아두이노》(2016), 《사물인터넷을 품은 아두이노》(2016), 《아두이노 상상을 스케치하다》(2014) 등 11종이 있다.

책 속에서

SPI 클록으로 사용하기 위한 시스템 클록의 분주비를 설정한다. AVR 기반의 보드에서는 2, 4, 8, 16, 32, 64, 128 중 하나의 값을 분주비로 사용할 수 있으며, 이 값들은 SPI_CLOCK_DIV2에서 SPI_CLOCK_DIV128까지 상수로 정의되어 있다. 디폴트값은 SPI_CLOCK_DIV4로, 시스템 클록의 1/4 속도로 데이터를 전송한다. _10쪽

지금까지 살펴본 시리얼 통신 방법에는 UART, SPI, I2C가 있으며 이 중 사용하는 연결선의 개수가 가장 적은 것은 I2C로, 연결된 슬레이브의 수와 무관하게 2개의 연결선이 사용된다. 하지만 전이중 방식에서 반이중 방식으로 바꾸면 연결선을 하나 줄일 수 있는 것처럼, 동기식에서 비동기식으로 바꾸면 연결선을 하나 더 줄일 수 있다. 동기식 반이중 방식 통신인 I2C에서 비동기식 반이중 방식 통신으로 바뀐 것이 이름 그대로 하나의 연결선을 사용하는 1-와이어 통신이다. _48쪽

적외선 수신기를 제어하기 위한 객체를 생성한다. 객체를 생성할 때는 적외선 수신기의 출력핀을 연결한 핀을 지정한다. blinkpin은 데이터 수신 상태를 나타내는 LED를 연결하는 핀으로, 데이터가 수신될 때 LED가 점멸한다. 하지만 핀을 지정하는 것만으로는 LED가 점멸하지 않으며 blink13 멤버 함수를 써서 LED 점멸 가능 상태로 설정해야 한다. _117쪽

이 장에서 사용한 마우스와 키보드는 하나의 USB 동글을 사용한다. 즉, 하나의 USB 연결로 마우스와 키보드 입력을 받아들인다. 이를 동시에 사용하기 위해서는 USB_HID_PROTOCOL_MOUSE와 USB_HID_PROTOCOL_KEYBOARD의 두 가지 프로토콜을 모두 처리할 수 있는 HIDBoot 객체를 생성하고, 두 종류의 파서를 HIDBoot 객체에 등록하면 된다. _195쪽

아두이노 우노에 사용된 ATmega328 마이크로컨트롤러는 28개의 핀을 갖고 있으며 이 중 20개는 입출력 핀으로 사용할 수 있다. 아두이노 우노에서도 ATmega328의 입출력 핀 20개 전부를 사용할 수 있도록 핀 헤더를 제공하고 있다. 하지만 키보드를 만든다면 100개에 달하는 푸시 버튼이 필요할 수 있고, 크리스마스 트리 장식을 만든다면 100개에 달하는 LED가 필요할 수 있으므로 이러한 경우라면 20개의 입출력 핀으로는 부족한 것이 사실이다 _242쪽

스케치 31.2는 초음파 거리 센서 앞에 놓인 물체까지의 거리를 측정하여 1초에 한 번 시리얼 모니터로 출력하는 스케치를 NewPing 라이브러리를 사용하여 작성한 예다. 스케치 31.1과 실행 결과에서는 큰 차이가 없지만, NewPing 클래스의 멤버 함수를 사용하여 직관적으로 거리를 측정할 수 있다는 장점이 있다. _324쪽

목차

머리말 x / 장별 주요 내용 xii / 장별 부품 목록 xvii / 베타리더 후기 xxi

CHAPTER 18 SPI 통신 1
18.1 SPI 3
18.2 아두이노 우노의 SPI 통신 8
18.3 SPI 방식의 EEPROM 13
18.4 맺는말 20
연습문제 21

CHAPTER 19 I2C 통신 23
19.1 I2C 25
19.2 아두이노 우노의 I2C 통신 30
19.3 DS1307?? RTC 칩 35
19.4 맺는말 45
연습문제 46

CHAPTER 20 1-와이어 통신 47
20.1 1-와이어 통신 49
20.2 1-와이어 라이브러리 53
20.3 DS18B20 온도 센서 56
20.4 iButton 62
20.5 맺는말 66
연습문제 67

CHAPTER 21 블루투스 69
21.1 HC-06 블루투스 모듈 71
21.2 스마트폰과 블루투스 통신 77
21.3 컴퓨터와 블루투스 통신 81
21.4 맺는말 87
연습문제 88

CHAPTER 22 지그비 89
22.1 지그비 90
22.2 지그비 모듈 91
22.3 지그비 네트워크 100
22.4 아두이노-아두이노 통신 103
22.5 맺는말 108
연습문제 109

CHAPTER 23 적외선 통신 111
23.1 적외선 통신 112
23.2 적외선 데이터 포맷 113
23.3 IRremote 적외선 라이브러리 116
23.4 리모컨을 이용한 제어 124
23.5 맺는말 128
연습문제 130

CHAPTER 24 RFID 131
24.1 RF 132
24.2 RFID 리더기와 마이페어 클래식 카드 135
24.3 RFID 활용 142
24.4 맺는말 150
연습문제 152

CHAPTER 25 BLE 153
25.1 BLE 모듈 154
25.2 BLE에서의 연결 158
25.3 아두이노 연결 160
25.4 연결 모드 163
25.5 게시 모드 168
25.6 맺는말 178
연습문제 180

CHAPTER 26 USB 호스트 181
26.1 USB 182
26.2 USB 호스트 쉴드 183
26.3 마우스 연결 186
26.4 키보드 연결 192
26.5 마우스와 키보드 동시 연결 195
26.6 타자 연습 프로그램 197
26.7 맺는말 201
연습문제 202

CHAPTER 27 아두이노-아두이노 연결 203
27.1 UART 연결 205
27.2 블루투스 연결 214
27.3 I2C 연결 218
27.4 SPI 연결 226
27.5 맺는말 237
연습문제 239

CHAPTER 28 입출력 확장 241
28.1 74595: 디지털 데이터 출력 확장 243
28.2 74165: 디지털 데이터 입력 확장 249
28.3 MCP23017: 디지털 데이터 입출력 확장 253
28.4 744051: 아날로그 멀티플렉서 261
28.5 맺는말 265
연습문제 266

CHAPTER 29 센서 사용하기 267
29.1 온도 센서 269
29.2 CdS 조도 센서 272
29.3 압력 센서 275
29.4 휨 센서 279
29.5 토양 습도 센서 282
29.6 ML8511: UV 센서 286
29.7 PIR 센서 289
29.8 먼지 센서 294
29.9 맺는말 299
연습문제 300

CHAPTER 30 로터리 인코더 301
30.1 로터리 인코더 302
30.2 로터리 인코더의 사용 305
30.3 로터리 인코더 라이브러리 308
30.4 맺는말 313
연습문제 314

CHAPTER 31 거리 측정 센서 315
31.1 초음파 거리 센서 317
31.2 적외선 거리 센서 325
31.3 충돌 방지 시스템 328
31.4 맺는말 332
연습문제 333

CHAPTER 32 가속도 자이로 센서 335
32.1 MPU-6050 336
32.2 가속도와 각속도 338
32.3 롤과 피치 345
32.4 MPU6050 라이브러리 351
32.5 맺는말 357
연습문제 358

CHAPTER 33 디지털 온습도 센서 359
33.1 DHT11 센서 360
33.2 DHT22 센서 367
33.3 맺는말 370
연습문제 371

CHAPTER 34 키패드 373
34.1 키 스캔 방법 374
34.2 멤브레인 키패드 379
34.3 안티 고스팅 키패드 387
34.4 맺는말 391
연습문제 392

CHAPTER 35 GPS 393
35.1 GPS 394
35.2 GPS 데이터 받기 395
35.3 GPS 라이브러리 404
35.4 맺는말 408
연습문제 410

CHAPTER 36 미니 프로젝트: 정수 계산기 411
36.1 계산기 구현을 위한 하드웨어 412
36.2 계산기의 기능 416
36.3 계산기 구현 418
36.4 계산기의 확장 423
36.5 맺는말 425

찾아보기 428

top