본문 바로가기

도서 소개

아트멜 스튜디오와 아두이노로 배우는 ATmega328 프로그래밍

 

 

 

아두이노 우노의 심장, ATmega328을 뛰게 하는 두 가지 방법!

베스트셀러 《아두이노 상상을 스케치하다》의 저자가 공개하는 마이크로컨트롤러의 새로운 학습법!

 

출판사 제이펍

저자명 허경용

출판일 2015년 7월 29일

페이지 568쪽

시리즈 테크 러닝 시리즈 02

판 형 46배판 변형(188*235*27)

제 본 무선(soft cover)

정 가 30,000원

ISBN 979-11-85890-25-8 (93560)

키워드 마이크로컨트롤러 / 아두이노 / 아트멜 스튜디오 / ATmega /

분야 하드웨어 / 마이크로컨트롤러


관련 사이트

 
관련 포스트
관련 시리즈
 
관련 도서
 
관련 파일 다운로드
■ + 기호로 표시된 연습문제 해답
예제 소스 코드
 
 
강의 자료(교재로 채택하신 분들은 메일을 보내주시면 아래의 자료를 보내드리겠습니다. support@jpub.kr)
■ 강의교안(ppt)
■ 본문의 그림과 표
■ 연습문제 해답(+ 기호로 표시된 문제만 해답 제공)
 
샘플 PDF
강의 안내, 차례, 머리말, 장별 안내, 베타리더 후기, 1장 '마이크로컨트롤러? 마이크로컨트롤러!, 2장 '메모리 이야기', 찾아보기, 필요 부품 리스트
정오표 페이지
 
도서구매 사이트(가나다순)

[강컴] [교보문고] [도서11번가] [반디앤루니스] [알라딘] [예스이십사] [인터파크]

 

도서 소개

아두이노 우노의 심장, ATmega328을 뛰게 하는 두 가지 방법!

베스트셀러 《아두이노 상상을 스케치하다》의 저자가 공개하는 마이크로컨트롤러의 새로운 학습법!

 

이 책은 아두이노 우노에서 사용되는 마이크로컨트롤러인 ATmega328을 위한 두 가지 프로그램 작성 방법을 다룬다. 그중 하나는 레지스터를 사용하여 프로그램을 작성하는 ‘C 스타일’이며, 다른 하나는 추상화된 함수를 사용하여 스케치를 작성하는 ‘아두이노 스타일’이다. 독자는 이들 두 가지 방법을 통해 쉽고 빠른 프로토타이핑 시스템으로서의 아두이노는 물론, 아두이노를 넘어 보다 다양한 마이크로컨트롤러의 기능을 활용할 수 있는 방법을 경험할 수 있다.

 

⚫ ATmega328 프로그래밍 준비하기

ATmega328을 위한 ‘C 스타일’과 ‘아두이노 스타일’의 프로그램 작성에 필요한 하드웨어 및 소프트웨어 준비 과정을 다룬다.

⚫ ATmega328 프로그래밍 시작하기

ATmega328의 기본적인 기능인 디지털 및 아날로그 데이터 입출력 방법을 배우고, 이를 바탕으로 ‘C 스타일’과 ‘아두이노 스타일’의 프로그램을 통해 다양한 통신 방법을 알아본다.

⚫ ATmega328 활용하기

ATmega328을 포함하여 마이크로컨트롤러에서 흔히 사용되는 7세그먼트, 텍스트 LCD, 모터, 센서, 블루투스 등 주변장치의 사용 방법을 ‘C 스타일’과 ‘아두이노 스타일’의 프로그램을 통해 알아본다.

 

이 책의 구성

이 책은 크게 세 부분으로 구성되어 있다. 1부(1~9장)에서는 마이크로컨트롤러에 대한 소개와 ATmega328 마이크로컨트롤러를 위한 프로그램을 작성하기 위해 준비해야 할 내용들을 다루고 있다. 2부(10~18장)에서는 ATmega328 마이크로컨트롤러에서 제공하는 기본적인 기능들이면서 마이크로컨트롤러를 사용하여 시스템을 구성하기 위해 사용되는 다양한 데이터 입출력 방법들을 다룬다. 마지막 3부(19~29장)에서는 마이크로컨트롤러와 함께 사용되는 장치들을 제어하는 방법을 다루고 있다.

 

지은이 소개

허경용

연세대학교 전자공학과 학사와 동(同)대학원 석사를 취득하였다. 이후 플로리다대학교(University of Florida)에서 컴퓨터공학 박사를 취득하였으며, 현재 동의대학교 전자공학과 교수로 재직 중이다. 저서로는 《핵심 예제로 배우는 아두이노 프로그래밍》(2015), 《아두이노 상상을 스케치하다》(2014)가 있다.

 

차례

 

I부 ATmega328 프로그래밍 준비하기

1장 마이크로컨트롤러? 마이크로컨트롤러! 3

1.1 마이크로컨트롤러란 무엇인가? 3

1.2 마이크로프로세서? 마이크로컨트롤러? 6

1.3 마이크로컨트롤러는 어디에 사용할 수 있을까? 8

1.4 마이크로컨트롤러를 어떻게 공부해야 할까? 11

1.5 주변장치와 어떻게 데이터를 교환하나? 14

1.6 프로그램은 어떻게 만들어지나? 18

1.7 마이크로컨트롤러가 꼭 필요한가? 19

1.8 요약 21

연습문제 22

 

더보기

2장 메모리 이야기 23

2.1 ATmega328의 메모리 23

2.2 ROM과 RAM 25

2.3 ROM은 정말 읽을 수만 있나? 26

2.4 플래시 메모리 27

2.5 SD 카드 28

2.6 eMMC 29

2.7 SSD 30

2.8 DRAM과 SRAM 30

2.9 요약 32

연습문제 33

 

3장 ATmega328 마이크로컨트롤러 34

3.1 AVR 34

3.2 ATmega328 소개 35

3.3 ATmega328의 핀 배치 37

3.4 레지스터 41

3.5 ATmega328의 메모리 45

3.6 요약 52

연습문제 52

 

4장 ATmega328 프로그래밍 준비 53

4.1 왜 ATmega328인가? 53

4.2 ATmega328 프로그래밍을 위한 하드웨어 54

4.3 ATmega328 프로그래밍을 위한 소프트웨어 59

4.4 요약 61

연습문제 62

 

5장 아두이노 프로그래밍 63

5.1 아두이노 통합 개발 환경 설치 63

5.2 아두이노 우노에 시리얼 방식으로 업로드하기 66

5.3 아두이노 우노에 ISP 방식으로 업로드하기 69

5.4 부트로더 굽기 72

5.5 브레드 보드 기본 회로에 부트로더 굽기 74

5.6 요약 76

연습문제 77

 

6장 아트멜 스튜디오 설치 78

6.1 아트멜 스튜디오 78

6.2 아트멜 스튜디오 설치 79

6.3 요약 87

연습문제 88

 

7장 Hello Blink 89

7.1 C 스타일 89

7.2 아두이노 스타일 97

7.3 C 스타일 대 아두이노 스타일 107

7.4 요약 109

연습문제 109

 

8장 프로그램의 기본 구조 111

8.1 C 스타일 프로그램의 구조 112

8.2 아두이노 스타일 프로그램의 구조 117

8.3 C 스타일과 아두이노 스타일 120

8.4 요약 122

연습문제 123

 

9장 비트 연산자 124

9.1 포트? 핀? 124

9.2 8개의 LED 제어하기 126

9.3 비트 연산자 130

9.4 비트 패턴 만들기 141

9.5 요약 143

연습문제 143

 

II부 ATmega328 프로그래밍 시작하기

10장 시리얼 통신 147

10.1 UART 148

10.2 UART 통신을 위한 레지스터 151

10.3 아두이노의 시리얼 통신 163

10.4 UART 라이브러리 만들기 167

10.5 문자열 수신 및 처리 173

10.6 printf 함수 사용하기 177

10.7 요약 179

연습문제 180

 

11장 버튼 입력 181

11.1 풀업 저항과 풀다운 저항 182

11.2 버튼 입력 184

11.3 디바운스 188

11.4 디바운스 회로 193

11.5 요약 195

연습문제 196

 

12장 아날로그-디지털 변환 197

12.1 ATmega328의 ADC 197

12.2 가변저항 값 읽기 199

12.3 AD 변환을 위한 레지스터 202

12.4 아두이노의 AD 변환 208

12.5 가변저항으로 LED 제어하기 209

12.6 VCC는 5V인가? 212

12.7 난수 생성 216

12.8 요약 219

연습문제 220

 

13장 인터럽트 221

13.1 폴링 대 인터럽트 221

13.2 인터럽트 223

13.3 인터럽트 처리 225

13.4 인터럽트 사용에서의 주의 사항 230

13.5 외부 인터럽트 232

13.6 핀 변화 인터럽트 238

13.7 요약 242

연습문제 242

 

14장 타이머/카운터 243

14.1 타이머/카운터 243

14.2 오버플로 인터럽트 245

14.3 비교일치 인터럽트 248

14.4 파형 출력 252

14.5 아두이노의 타이머 255

14.6 요약 259

연습문제 260

 

15장 PWM 262

15.1 PWM 262

15.2 PWM 모드 268

15.3 PWM을 이용한 LED 밝기 제어하기 273

15.4 아두이노의 PWM 279

15.5 요약 281

연습문제 282

 

16장 SPI 283

16.1 SPI 283

16.2 SPI 방식의 EEPROM 288

16.3 아두이노에서 25LC010A 사용하기 300

16.4 요약 303

연습문제 304

 

17장 I2C 307

17.1 I2C 307

17.2 DS1307, RTC 칩 311

17.3 아두이노 – Wire 라이브러리 323

17.4 아두이노 – RTClib 라이브러리 327

17.5 요약 329

연습문제 330

 

18장 컴퓨터와의 시리얼 연결 331

18.1 ATmega328의 UART 통신 331

18.2 RS232-UART 변환기 335

18.3 USB-UART 변환기 339

18.4 컴퓨터의 시리얼 포트 340

18.5 요약 344

연습문제 345

 

III부 ATmega328 활용하기

19장 7 세그먼트 표시장치 349

19.1 한 자리 7 세그먼트 표시장치 349

19.2 한 자리 7 세그먼트 표시장치 – 아두이노 스타일 356

19.3 네 자리 7 세그먼트 모듈 358

19.4 네 자리 7 세그먼트 표시장치 – 아두이노 스타일 365

19.5 요약 366

연습문제 367

 

20장 LED 매트릭스 368

20.1 LED 매트릭스 368

20.2 LED 매트릭스 제어 374

20.3 LED 매트릭스 제어 – 아두이노 스타일 381

20.4 요약 382

연습문제 383

 

21장 텍스트 LCD 384

21.1 텍스트 LCD 384

21.2 8비트 모드 텍스트 LCD 제어 388

21.3 4비트 모드 텍스트 LCD 제어 394

21.4 텍스트 LCD 제어 - 아두이노 스타일 401

21.5 요약 405

연습문제 406

 

22장 키 매트릭스 408

22.1 키 매트릭스 409

22.2 4×4 키 매트릭스 413

22.3 키 매트릭스 – 아두이노 스타일 418

22.4 키패드 라이브러리 419

22.5 고스트 현상이 없는 키 매트릭스 422

22.6 요약 427

연습문제 428

 

23장 DC 모터와 서보 모터 429

23.1 모터 429

23.2 DC 모터 430

23.3 모터 제어 434

23.4 서보 모터 437

23.5 서보 모터 제어 440

23.6 아두이노의 서보 모터 제어 444

23.7 요약 447

연습문제 447

 

24장 직렬 입력 병렬 출력 레지스터 - 74595 448

24.1 74595 449

24.2 아두이노에서 74595 사용하기 456

24.3 요약 458

연습문제 458

 

25장 센서 459

25.1 온도 센서 460

25.2 초음파 거리 센서 465

25.3 요약 471

연습문제 471

 

26장 블루투스 472

26.1 블루투스 모듈 설정 473

26.2 스마트폰 설정 476

26.3 블루투스 통신 480

26.4 아두이노의 블루투스 통신 481

26.5 요약 485

연습문제 485

 

27장 EEPROM 486

27.1 EEPROM 레지스터 487

27.2 EEPROM 라이브러리 – GNU 라이브러리 490

27.3 EEPROM 라이브러리 – 아두이노 스타일 495

27.4 요약 496

연습문제 497

 

28장 워치독 타이머 499

28.1 워치독 타이머를 위한 레지스터 500

28.2 워치독 타이머 사용하기 503

28.3 워치독 타이머 사용하기 – 아두이노 스타일 507

28.4 요약 509

연습문제 509

 

29장 퓨즈 비트 511

29.1 하이 퓨즈 512

29.2 로 퓨즈 514

29.3 확장 퓨즈 518

29.4 퓨즈 프로그래밍 519

29.5 요약 522

연습문제 522

 

부록 ATmega328 입출력 레지스터 523

 

미주 531

찾아보기 534

필요 부품 리스트 543