서브메뉴

본문

아두이노 드론 만들고 직접 코딩하기 (300줄의 소스 코드로 구현해 보는 아두이노 드론)
아두이노 드론 만들고 직접 코딩하기 (300줄의 소스 코드로 구현해 보는 아두이노 드론)
저자 : 서민우
출판사 : 앤써북
출판년 : 2018
ISBN : 9791185553269

책소개


3년 연속 아두이노 드론 코딩 분야 1위!
드론 소스 코드 완전 개정 3판이 나왔다!

『아두이노 드론 만들고 직접 코딩하기』의 세 번째 전면 개정판이 나왔다. 이번 개정 5판에서는 드론 소스 코드를 직관적이 이해하기 쉽게 다뤄 초보자들의 눈높이를 맞추었다. 책은 국내 최초로 드론 소스 코드로 다양한 드론의 원리를 다룬 책으로 3년 연속 베스트셀러이다. 책은 드론을 조종하는 것보다 소프트웨어 구성에 초점이 맞추어 아두이노 기반의 스케치 프로그램에서 직접 코딩하여 드론을 날리고 제어해 볼 수 있도록 구성했다. 책에서는 HM-10 BLE 블루투스로 통신하는 방법, 가속도 자이로 센서 해석 방법, PID 계산을 통해 출력을 얻는 방법, PID 튜닝으로 드론이 안정적으로 뜨는지 테스트, 모터 속도의 분배 방법, 아두이노 우노 R3 포팅 방법을 자세히 다루고 있다. 특히 PID 제어의 경우 개정 3판에서는 더욱 직관적으로 설명하여 초보자들도 이해하기 쉽게 구성하였다.

드론은 만들고, 날리는 것보다 소프트웨어적 접근이 더 중요하다. 왜냐하면 여러분이 직접 작성한 소프트웨어를 이용하여 드론을 띄우면 드론의 소프트웨어적인 원리를 정확히 알 수 있게 되기 때문이다. 또한 아두파일럿(ardupilot), 멀티위(multiwii)와 같은 다양한 공개 소스를 이해할 수 있고 나만의 것으로 직접 응용할 수 있기 때문이다.

누구나 손쉽게 아두이노 드론을 만들 수 있도록 제작 방법과 조립 과정을 따라하기로 설명하였고 소스 코드로 직접 아두이노 드론을 띄울 수 있다. 직접 코딩하고 기능을 추가하면서 드론 동작 원리를 이해할 수 있도록 구성하였고 드론의 핵심 부품의 동작 원리를 직접 실습을 통해서 습득할 수 있도록 쉽게 설명하였다. HM-10 BLE 블루투스로 드론과 스마트폰의 통신 방법, 자이로센서로 가속도제어, PID제어로 중심잡기, 모터 속도 분배, PID 튜닝 , 아두이노 우노 R3 드론 포팅 방법 등 드론의 핵심 원리를 이해하기 쉽게 직접 코딩하면서 배울 수 있도록 설명하였다. 학교, 단체 교육과정의 맞춤형 인기 교재로 드론 제작 입문부터 핵심 알고리즘까지 드론의 하드웨어와 소프트웨어를 모두 설명하였다.

[부록]

※ 예제 소스파일은 4페이지를 참조한다.
※ 이 책에서 사용하는 전체 부품은 5페이지를 참조하고, 드론 키트 부품 구성은 49~50페이지를 참조한다. 앤써북 프리마켓을 이용하면 드론 부품을 저렴하게 구매하고 합리적으로 팔 수 있으며 4페이지를 참조합니다.
※ AIR COPTER 아두이노 드론 키드 5% 할인쿠폰이 포함되어 있다. 할인쿠폰은 292페이지를 참조한다.

※책을 통해서 만든 아두이노 드론 날리기 시연 동영상입니다.

목차


Chapter 01 아두이노 드론 준비하기
LESSON 01 아두이노 드론이란?

LESSON 02 아두이노 드론, 어떤 것들이 있나요?

LESSON 03 드론으로 무엇을 할 수 있나요?

LESSON 04 어디서 날릴 수 있나요?

LESSON 05 드론, 소프트웨어, 컨트롤러, 프레임
01 대중적인 공개 드론 소프트웨어와 컨트롤러
01-1 Ardupilot
01-2 Multiwii
02 기타 공개 드론 소프트웨어와 컨트롤러
03 DIY 드론 제작하기
03-1 완제품 DIY 드론 만들기
03-2 반 완제품으로 만들기
03-3 시제품 드론으로 만들기
03-4 3D 프린터로 만들기

LESSON 06 아두이노 스케치 IDE 설치하기

LESSON 07 아두이노 IDE 이해하기

LESSON 08 아두이노 IDE 살펴보기


Chapter 02 아두이노 드론 시작하기
LESSON 01 아두이노 드론 조립하기
01 아두이노 드론 부품 살펴보기
02 드론 날개와 몸체 연결하기
03 GY-521 센서 고정용 지지대 조립하기
04 베이스 보드와 드론 몸체 결합하기
05 아두이노GY-521, 블루투스 조립하기
06 드론 몸체와 베터리 연결하기

LESSON 02 아두이노 드론 어플 사용하기
01 드론 어플 설치하기
02 드론 어플 사용법 익히기

LESSON 03 AIR Copter 소스 업로드하기
01 아두이노 프로 마이크로 USB 드라이버 설치하기
02 AIR Copter 소스 업로드하기


Chapter 03 아두이노 드론 살펴보기
LESSON 01 HM10 BLE 통신 모듈 설치하기
01 HM10 통신 모듈의 이해
02 HM10 통신 회로 살펴보기
03 HM10 통신 프로그램 작성하기
03-1 MSP 메시지 입력 받기
03-2 MSP 프로토콜 살펴보기
03-3 MSP 메시지 확인해 보기
03-4 MSP 메시지 분석해 보기
03-5 Roll, Pitch, Yaw, Throttle 값 추출하기

LESSON 02 드론용 모터의 이해와 테스트
01 드론용 모터의 구조 이해
01-1 일반 DC 모터의 구조
01-2 BLDC 모터의 구조
01-3 CLDC 모터의 구조
02 드론용 모터 회로 살펴보기
03 드론용 모터 제어 프로그램 작성하기
03-1 드론용 모터 제어 프로그램 작성하기
03-2 드론용 모터 속도 테스트하기
03-3 드론 수평 회전 테스트하기

LESSON 03 MPU6050 균형계의 이해와 테스트
01 MPU6050 균형계 살펴보기
02 Roll, Pitch, Yaw 이해하기
03 MPU6050 레지스터 살펴보기
04 MPU6050 균형계 회로 살펴보기
05 자이로 센서 값 읽어보기
06 자이로 센서 값 해석하기


Chapter 04 아두이노 드론 코딩하기
LESSON 01 드론 코드 프레임워크 구성하기
01 파일 생성하기
02 드론 코드 구성하기
03 전체 문맥 구성하기
04 변수 선언하기
05 변수 형 정의하기
06 함수 정의하기
07 파일 전체 내용 살펴보기
08 컴파일하기

LESSON 02 전체 코드 여러 파일로 나누기
01 00_drone.h 파일 구성하기
02 _02_gyro 파일 구성하기
03 _03_balancing 파일 구성하기
04 _04_remote 파일 구성하기
05 _05_motor 파일 구성하기
06 _06_promt 파일 구성하기
07 _01_arduino_drone 파일 구성하기
08 컴파일하기

LESSON 03 Pitch, Roll, Yaw 각속도와 각도 구하기
01 원시 자이로 값 읽기
02 자이로 평균 값 구하기
03 자이로 값 보정하기
04 회전 각속도 구하기
05 주기 시간 계산하기
06 회전 각도 구하기

LESSON 04 드론 균형 잡기
01 드론 균형 잡기 원리 이해
01-1 드론 균형 잡기 1
01-2 PID 시뮬레이션 1
01-3 드론 균형 잡기 2
01-4 PID 시뮬레이션 2
01-5 드론 균형 잡기 3
01-6 PID 시뮬레이션 3
02 RPY 각도로 드론 균형 값 찾기
03 모터 속도 계산하기
03-1 모터 속도 계산 알고리즘 구하기
03-2 모터 속도 계산 알고리즘 구현하기
04 원격 Throttle 입력 받기
05 모터 속도 적용하기
05-1 각도 보정 증폭 값 살펴보기
06 회전 각속도로 드론 균형 값 찾기
06-1 각속도 상쇄 증폭 값 살펴보기
07 드론 PRY 조종 기능 추가하기
08 드론 조종 시 목표 각도 도달하기
08-1 목표 각도 도달 증폭 값 살펴보기
09 목표 각도 보정하기
10 전체 파일 내용 살펴보기


APPENDIX 아두이노 우노 기반 드론 포팅
LESSON 01 아두이노 우노 R3 드론 포팅
01 HM10 BLE 통신 모듈 살펴보기
01-1 MSP 메시지 입력 받기
01-2 MSP 메시지 확인하기
01-3 Roll, Pitch, Yaw, Throttle 값 추출하기
02 드론 모터의 이해와 테스트
02-1 모터 돌리기
02-2 모터 속도 테스트하기
02-3 드론 수평 회전 테스트하기
03 원격 Throttle 입력 받기
03-1 원격 Throttle 입력 받기
04 모터 속도 적용하기
04-1 모터 속도 적용하기

QuickMenu