아두이노를 넘어설 새로운 플랫폼 ‘ARM Mbed’로
Cortex-M 마이크로컨트롤러 프로그래밍을 시작하자!
Mbed는 ARM에서 설계한 Cortex-M 마이크로컨트롤러를 위한 사물인터넷 플랫폼으로, 사물인터넷을 위한 디바이스와 애플리케이션 개발에 필요한 모든 것을 포함한다. 그리고 ARM의 Cortex-M은 고성능의 32비트 마이크로컨트롤러로, Mbed의 추상화된 라이브러리와 온라인 개발 환경을 통해 누구나 쉽게 시작할 수 있을 뿐더러 짧은 시간에 높은 성능을 체험할 수 있다.
이 책에서는 Mbed를 이용하여 Cortex-M 마이크로컨트롤러를 위한 프로그램 작성 방법과 다양한 주변장치를 Mbed 환경에서 사용하는 방법을 보여준다. 따라서 Cortex-M 마이크로컨트롤러를 처음 사용하는 독자에게는 Cortex-M 마이크로컨트롤러에 대한 이해를, 고성능 마이크로컨트롤러가 필요한 독자에게는 프로토타이핑 도구로서의 Mbed를 소개한다.
이 책의 대상 독자
● 하드웨어 전공자로 Mbed 플랫폼에 관심이 있는 분
● 마이크로컨트롤러 프로그래밍을 처음 시작하는 분
● 아두이노보다 좀 더 고성능의 마이크로컨트롤러를 배우고 싶은 분
● 사물인터넷 하드웨어 플랫폼에 관심이 있는 분
저자 소개
연세대학교 전자공학과 학사와 동(同) 대학원 석사를 취득하였다. 이후 플로리다대학교(University of Florida)에서 컴퓨터공학 박사를 취득하였으며, 현재 동의대학교 전자공학과 교수로 재직 중이다. 저서로는 《따라 하면서 배우는 마이크로컨트롤러》, 《사물인터넷을 위한 ESP8266 프로그래밍》, 《ATmega128로 배우는 마이크로컨트롤러 프로그래밍》, 《따라 하면서 배우는 아두이노》, 《사물인터넷을 품은 아두이노》, 《아두이노 상상을 스케치하다》 등이 있다.
목 차
PART I Mbed 소개 1
CHAPTER 01 Mbed란 무엇인가? 2
1.1 ARM 프로세서 2
1.2 Cortex-M 8
1.3 Mbed의 등장 10
1.4 Mbed 보드 14
1.5 Mbed 보드의 단점 17
1.6 Mbed와 아두이노 19
CHAPTER 02 누클레오 보드 시작하기 21
2.1 누클레오 보드 21
2.2 누클레오 보드의 특징 25
2.3 Mbed 프로그래밍 시작하기 29
2.4 컴퓨터와의 시리얼 통신 37
2.5 맺는말 41
CHAPTER 03 마이크로컨트롤러 프로그래밍 43
3.1 블링크 프로그램 44
3.2 객체의 사용 46
3.3 맺는말 50
CHAPTER 04 NUCLEO-F103RB 보드 사용하기 51
4.1 Mbed 보드 51
4.2 STM32F103RBT6 마이크로컨트롤러 53
4.3 NUCLEO-F103RB 보드 55
4.4 범용 입출력 핀 사용: LED1, USER_BUTTON 57
4.5 맺는말 61
CHAPTER 05 Mbed API 62
5.1 Mbed API 62
5.2 하드웨어 종속적 프로그래밍 64
5.3 하드웨어 독립적 프로그래밍 68
5.4 LPC1768 보드 73
5.5 맺는말 80
PART II 기본 프로그래밍 81
CHAPTER 06 디지털 데이터 입출력 82
6.1 디지털 데이터 입출력 82
6.2 DigitalOut 클래스 89
6.3 DigitalIn 클래스 93
6.4 DigitalInOut 클래스 97
6.5 맺는말 99
CHAPTER 07 UART 시리얼 통신 100
7.1 시리얼 통신 100
7.2 UART 101
7.3 Serial 클래스 105
7.4 맺는말 115
CHAPTER 08 아날로그 데이터 입력 116
8.1 아날로그 디지털 변환 116
8.2 AnalogIn 클래스 119
8.3 맺는말 124
CHAPTER 09 PWM 신호 출력 125
9.1 PWM 신호 출력 125
9.2 PwmOut 클래스 130
9.3 맺는말 135
CHAPTER 10 인터럽트 136
10.1 폴링 방식과 인터럽트 방식 136
10.2 Ticker 클래스 138
10.3 InterruptIn 클래스 139
10.4 맺는말 146
CHAPTER 11 주기적인 데이터 처리 147
11.1 wait 함수 147
11.2 Timer 클래스 150
11.3 Ticker 클래스 152
11.4 Timeout 클래스 155
11.5 맺는말 156
CHAPTER 12 SPI 통신 157
12.1 SPI 157
12.2 EEPROM 162
12.3 SPI 방식 OLED 168
12.4 맺는말 175
CHAPTER 13 I2C 통신 176
13.1 I2C 176
13.2 I2C 방식 OLED 181
13.3 텍스트 LCD 187
13.4 맺는말 193
CHAPTER 14 1-와이어 통신 195
14.1 1-와이어 통신 195
14.2 DS18B20 온도 센서 199
14.3 맺는말 205
PART III 주변장치 프로그래밍 207
CHAPTER 15 블루투스 208
15.1 블루투스 208
15.2 HC-06 블루투스 모듈 209
15.3 스마트폰 설정 214
15.4 블루투스 통신 215
15.5 맺는말 218
CHAPTER 16 로터리 인코더 219
16.1 로터리 인코더 219
16.2 로터리 인코더의 사용 221
16.3 맺는말 226
CHAPTER 17 센서 227
17.1 온도 센서 228
17.2 조도 센서 231
17.3 PIR 센서 233
17.4 맺는말 237
CHAPTER 18 디지털 온습도 센서 239
18.1 DHT11 센서 239
18.2 DHT22 센서 246
18.3 맺는말 250
CHAPTER 19 거리 측정 센서 251
19.1 초음파 거리 센서 251
19.2 적외선 거리 센서 256
19.3 맺는말 259
CHAPTER 20 릴레이 260
20.1 릴레이 260
20.2 릴레이를 통한 가전제품의 제어 262
20.3 맺는말 267
CHAPTER 21 7세그먼트 표시장치 268
21.1 7세그먼트 시장치 268
21.2 한 자리 7세그먼트 표시장치 270
21.3 네 자리 7세그먼트 표시장치 273
21.4 맺는말 283
CHAPTER 22 LED 매트릭스 284
22.1 LED 매트릭스 284
22.2 LED 매트릭스 제어 287
22.3 Sseg 라이브러리 사용 291
22.4 맺는말 292
CHAPTER 23 텍스트 LCD 293
23.1 텍스트 LCD 293
23.2 텍스트 LCD 라이브러리 296
23.3 맺는말 301
CHAPTER 24 RTC 302
24.1 RTC 302
24.2 DS1307 303
24.3 DS3231 313
24.4 맺는말 321
CHAPTER 25 DC 모터 322
25.1 DC 모터 322
25.2 DC 모터 제어 325
25.3 맺는말 333
CHAPTER 26 서보 모터 334
26.1 서보 모터 334
26.2 서보 모터 제어 336
26.3 가변저항으로 서보 모터 제어 338
26.4 맺는말 340
PART IV 고급 프로그래밍 343
CHAPTER 27 RTOS ― 멀티스레드 구현 344
27.1 실시간 운영체제 344
27.2 스레드 345
27.3 시그널 349
27.4 맺는말 353
CHAPTER 28 STM32duino ― STM32를 위한 아두이노 코어 354
28.1 아두이노 환경 설정 355
28.2 아두이노 스케치 358
28.3 맺는말 364
CHAPTER 29 누클레오-아두이노 UART 통신 366
29.1 누클레오 보드와 아두이노 우노 연결 366
29.2 UART 시리얼 통신 프로그래밍 370
29.3 맺는말 372
CHAPTER 30 블루필 보드 373
30.1 블루필 보드 373
30.2 블루필 보드 프로그래밍 374
30.3 맺는말 379
찾아보기 381
출판사 서평
아두이노를 넘어설 새로운 플랫폼 ‘ARM Mbed’로
Cortex-M 마이크로컨트롤러 프로그래밍을 시작하자!
Mbed는 ARM에서 설계한 Cortex-M 마이크로컨트롤러를 위한 사물인터넷 플랫폼으로, 사물인터넷을 위한 디바이스와 애플리케이션 개발에 필요한 모든 것을 포함한다. 그리고 ARM의 Cortex-M은 고성능의 32비트 마이크로컨트롤러로, Mbed의 추상화된 라이브러리와 온라인 개발 환경을 통해 누구나 쉽게 시작할 수 있을 뿐더러 짧은 시간에 높은 성능을 체험할 수 있다.
이 책에서는 Mbed를 이용하여 Cortex-M 마이크로컨트롤러를 위한 프로그램 작성 방법과 다양한 주변장치를 Mbed 환경에서 사용하는 방법을 보여준다. 따라서 Cortex-M 마이크로컨트롤러를 처음 사용하는 독자에게는 Cortex-M 마이크로컨트롤러에 대한 이해를, 고성능 마이크로컨트롤러가 필요한 독자에게는 프로토타이핑 도구로서의 Mbed를 소개한다.
이 책의 대상 독자
● 하드웨어 전공자로 Mbed 플랫폼에 관심이 있는 분
● 마이크로컨트롤러 프로그래밍을 처음 시작하는 분
● 아두이노보다 좀 더 고성능의 마이크로컨트롤러를 배우고 싶은 분
● 사물인터넷 하드웨어 플랫폼에 관심이 있는 분