|
아듀카 – 아두이노로 제어하는 자동차
PART I
아두이노와 친해지기…………………………………………
CHAPTER 01 아두이노 소개 …………………………………………
1. 아두이노 하드웨어
2. 아두이노 우노
3. 아두이노 소프트웨어
4. 아두이노 프로그래밍
5. 스케치의 구조
6. 맺는말
CHAPTER 02 아두이노 기본 클래스 …………………………………
1. UART 시리얼 연결
2. Serial 클래스
3. String 클래스
4. 맺는말
CHAPTER 03 디지털 데이터 입력 ……………………………………
1. 블링크
2. 시리얼 모니터로 LED 제어
3. 맺는말
CHAPTER 04 디지털 데이터 출력 ……………………………………
1. 풀업 풀다운 저항
2. 버튼 테스트
3. 버튼을 누른 횟수 세기
4. 맺는말
CHAPTER 05 아날로그 데이터 입출력 ………………………………
1. 아날로그 데이터 입력
2. 아날로그 데이터 출력
3. 맺는말CHAPTER 06 주기적인 데이터 처리
1. delay 함수
2. millis 함수
3. 맺는말
PART II
아듀카를 위한 부품…………………………………………
CHAPTER 07 DC 모터 …………………………………………………
1. DC 모터
2. DC 모터 제어
3. 맺는말
CHAPTER 08 서보 모터 …………………………………………………
1. 서보 모터
2. 서보 라이브러리
3. 가변저항으로 서보 모터 제어
4. 시리얼 모니터 입력으로 서보 모터 제어
5. 맺는말
CHAPTER 09 초음파 거리 센서…………………………………………
1. 초음파 거리 센서
2. 물체 감지 경보기
3. 맺는말
CHAPTER 10 적외선 통신 ………………………………………………
1. 적외선
2. 적외선 데이터 포맷
3. IRremote 적외선 라이브러리
4. 리모컨으로 LED 제어
5. 요약
CHAPTER 11 라인트레이서 모듈 ………………………………………
1. 포토트랜지스터
2. 라인트레이서 모듈
3. 맺는말
CHAPTER 12 블루투스 통신 ……………………………………………
1. 블루투스
2. HC-06 블루투스 모듈
3. 스마트폰 설정
4. 블루투스 통신
5. 맺는말
CHAPTER 13 텍스트 LCD ………………………………………………
1. 텍스트 LCD
2. I2C (Inter-Integrated Circuit) 통신
3. I2C 방식 텍스트 LCD
4. 맺는말
PART III
아듀카 - 아두이노로 제어하는 자동차……………………
CHAPTER 14 아듀카 만들기 ……………………………………………
1. 아듀카(ArduCar : Arduino Controlled Car)
2. 모터 연결
3. 텍스트 LCD 연결
4. 아듀카 라이브러리
5. 맺는말
CHAPTER 15 블루투스로 제어하는 아듀카 …………………………
1. 블루투스 설정
2. 블루투스로 제어하는 아듀카
3. 맺는말
CHAPTER 16 리모컨으로 제어하는 아듀카 …………………………
1. 적외선 수신 모듈
2. 리모컨으로 제어하는 아듀카
3. 맺는말
CHAPTER 17 라인 트레이싱 아듀카 …………………………………
1. 라인트레이서 모듈
2. 라인트레이서
3. 맺는말
CHAPTER 18 장애물 회피 아듀카 ……………………………………
1. 서보 모터와 초음파 거리 센서
2. 장애물 회피 아듀카
3. 맺는말
appendix
부록……………………………………………………………
APPENDIX 01 아두이노 기본 함수 ……………………………………
I. 디지털 입출력 함수
II. 아날로그 입출력 함수
III. 고급 입출력 함수
IV. 시간 함수
V. 수학 함수
VI. 삼각 함수
VII. 문자 함수
VIII. 난수 함수
IX. 비트 조작 함수
X. 외부 인터럽트 함수
XI. 인터럽트 함수
APPENDIX 02 아두이노 기본 클래스 …………………………………
I. Serial
II. String
머리말
아두이노가 처음 출시된 지도 10년이 넘게 지났다. 지난 10여 년이 아두이노가 ‘누구나 쉽게 사용할 수 있는 마이크로컨트롤러 보드’라는 기반을 다지는 시기였다면, 다가올 10년은 ‘누구나 실생활에 필요한 도구를 만들어 사용할 수 있는 마이크로컨트롤러 보드’로 생활 속으로 들어오는 시간이기를 바라고 있다. 어찌 보면 작은 변화일 수 있지만 실생활에서 사용될 수 있다는 것은 상상만 하던 일을 현실에서 만날 수 있다는 의미이며, 더 이상 구경만 하면서 부러워할 필요 없이 직접 만들어 사용할 수 있다는 의미이기도 하다.
아두이노가 성공할 수 있었던 이유에는 오픈 소스 정책을 따랐기 때문에, 쉬운 프로그래밍 방식을 도입했기 때문에, 사물인터넷의 보급에 영향을 받았기 때문에 등등 기술적인 장점들을 여러 가지 이야기할 수 있지만 그보다 덜하지 않은 이유 중 하나가 ‘어른들을 위한 장난감’이라는 점이 아닐까 싶다. 어릴 적 트랜지스터와 몇 개의 부품만으로 라디오를 만들어 본 경험이 있다면 아두이노에서 어린 시절의 추억을 찾아낼 수 있으리라 생각한다.
이미 많은 아두이노 관련 책들이 판매되고 있으며 이들은 서로 다른 방향에서 아두이노를 바라보고 있다. 하지만 실생활에서 사용되기 위해서는, 어른들을 위한 장난감으로 매력을 가지기 위해서는 단편적인 내용들을 하나로 합해서 만들 수 있는 무언가가 필요하다. 잠깐의 검색만으로도 신기하고 흥미로운 것들을 찾아낼 수 있고, 필요한 것들은 대부분은 공개되어 있지만 이들을 아울러 하나의 완성품으로 만들어 낼 수 있는 방법까지 알려줄 수 있다면 더 좋으리라는 생각에 이 책을 준비하였다. 아두이노 관련 책을 한 권 쯤 읽고 나서 다음에는 무엇을 해야 할 지 망설이는 독자를 위해 이 책을 준비하였다.
아두이노로 만들 수 있는 것은 많다. 그 중에서도 이 책에서는 아두이노로 움직이는 자동차를 선택한 것은 많은 관련 내용을 쉽게 찾아낼 수 있을 만큼 접근하기가 쉬운 것이 그 하나이며, 그럼에도 아직까지 다양한 응용이 가능하기 때문이 다른 하나다. 구슬이 서말이라도 꿰어야 보배라는 말처럼 여기저기 흩어져 있는 것들을 모아 줄거리가 있는 이야기로 풀어나가고 싶었다. 어찌 생각하면 이 책에서 신기한 무언가를 발견할 수 없어 실망할 수도 있겠지만 시작부터 끝까지, 준비부터 완성까지를 경험하고 스스로에게 자문할 수 있기를 바란다. 이 책을 통해 아두이노라는 또 다른 재미를 발견할 수 있기를, 아두이노를 사용하여 무언가 만들어 보고 싶은 것이 생기기를, 그 무언가를 완성해서 즐거워할 때 이 책이 기억난다면 더 바랄 것이 없겠다.
|