『한 권으로 끝내는 아두이노 입문+실전 (종합편)』은 약 380쪽의 분량에 쉽고 단계적으로 130여개의 단계별 초수/중수/고수/실전 프로젝트 만들기까지 시작은 쉽게 그러나 끝은 프로그래밍 실력을 갖출 수 있도록 전면 개정판으로 출간되었다. 이번 전면 개정판은 아두이노 프로그래밍에 초점을 맞춰져 있다. 그러기 위해 하드웨어 구성은 비교적 단순하게 하였다. 스페셜 페이지를 두어 아두이노 프로그래밍에 필요한 C/C++ 언어적인 요소를 강화했으며, 독자 여러분이 직접 작성한 아두이노 스케치를 재사용하기 위한 라이브러리 제작법을 소개하였다. 또, 시각적인 재미와 프로그래밍의 실력을 더할 수 있도록 네오픽셀 모듈을 도입하였다. 이 책의 실습에 사용되는 부품은 부품형 키트와 통합 보드형 키트 두 가지 중 선택해서 진행할 수 있게 구성하였다. (책 실습 관련 전체 부품과 키트 관련 내용은 23~25쪽을 참조한다.)
Contents
Chapter 01 아두이노 기초 다지기
01 아두이노 기본기 다루기
01_1 아두이노란 무엇인가?
01_2 아두이노로 무엇을 할 수 있을까?
01_3 아두이노를 작동시키기 위한 준비물
01_4 아두이노 보드 살펴보기
02 아두이노 기본기 다루기
부품형 키트
통합 보드형 키트
통합 보드 조립하기
03 아두이노 개발 환경 구성하기
03_1 아두이노 소프트웨어 설치하기
03_2 아두이노 보드에 컴퓨터 연결하기
03_3 아두이노 보드와 시리얼 포트 선택하기
03_4 스케치 작성해 보기
03_5 아두이노 오류 발생 시 대처 방법
04 아두이노 스케치 구조 이해하기
04_1 아두이노 스케치 기본 함수
04_2 숨겨진 main 함수
- Special Page_ C/C++ 코너 : 함수와 변수 살펴보기
05 아두이노 핀 살펴보기
디지털 출력과 입력
아날로그 출력(PWM 출력)
아날로그 입력
Chapter 02 아두이노 초수되기
01 아두이노의 입 : Serial.println
01_1 여러 형식의 자료 내보내기
01_2 여러 형식의 숫자 내보내기
- Special Page_ C/C++의 기본 자료형 살펴보기
02 아두이노의 윙크 : digitalWrite
02_1 아두이노 눈뜨기 : LED 켜기
02_2 아두이노 눈감기 : LED 끄기
02_3 아두이노 눈뜨고 감기 : LED 켜고 끄기 반복하기
02_4 천천히 눈뜨고 감기 : LED 켜고 끄기 확인하기
02_5 빨리 눈뜨고 감기 : LED 켜고 끄기 간격 줄여보기
02_6 눈을 떴을까 감았을까? : LED 켜고 끄기를 밝기로 느껴보기
02_7 LED 어둡게 하기
02_8 LED 밝게 하기
02_9 LED 밝기 조절해 보기
- Special Page_ C/C++ 코너 : for문 살펴보기
- Special Page_ C/C++ 코너 : while문 살펴보기
03 LED 회로를 구성해보자!
03_1 LED, 저항, 브레드보드 살펴보기
03_2 간단한 LED 회로 구성하기
03_3 LED 켜고 끄기
03_4 복잡한 LED 회로 구성하기
03_5 전체 LED 켜 보기
03_6 변수 모여라! : 1차 배열 이용하기
03_7 배열의 단짝 for문
- Special Page_ C/C++ 코너 : 배열과 for문 살펴보기
03_8 전체 LED 켜고 꺼보기
03_9 함수로 정리하기
03_10 함수에 배열 넘기기
03_11 배열 매개변수 포인터로 변경하기
03_12 sizeof로 배열의 개수 구하기
- Special Page_ C/C++ 코너 : 배열, 함수, 포인터의 관계 살펴보기
03_13 cpp, h 파일 만들어보기
- Special Page_ C/C++ 코너 : h 파일 중복 포함 오류 살펴보기
03_14 myleds 라이브러리 만들기
03_15 LED 차례대로 켜고 꺼보기
03_16 하트 LED 회로 구성하기
03_17 하트 LED 켜 보기
03_18 하트 LED 켜고 꺼보기
03_19 하트 LED 차례대로 켜고 꺼보기
04 빛의 연주 : analogWrite
04_1 LED 회로 구성하기
04_2 LED 어둡게 하기
04_3 LED 밝게 하기
03_4 LED 밝기 조절해보기
04_5 LED 회로 구성하기 2
04_6 빛의 징검다리
04_7 이중 for 문 사용해 보기
04_8 LED 차례대로 밝아지기
- Special Page_ for 문으로 간단하게 표현하기
04_9 LED 차례대로 밝아지고 어두워지기
05 RGB 네오픽셀 LED 켜고 끄기
05_1 네오픽셀 라이브러리 설치하기
05_2 LED 하나 켜고 꺼 보기
05_3 전체 LED 켜고 꺼 보기
05_4 무지개 색깔 내보기
05_5 cpp, h 파일 만들어보기
05_6 myneopixel 라이브러리 만들기
Chapter 03 아두이노 중수되기
01 아두이노의 귀 : Serial.read
01_1 사용자 입력 받기
01_2 LED 켜고 끄기
01_3 LED 밝기 조절하기
- Special Page_ C/C++ 코너 : switch문 살펴보기
02 눌렀을까 뗐을까? : digitalRead
02_1 0, 1 읽어보기
02_2 푸시 버튼 살펴보기
02_3 버튼 회로 구성하기기
02_4 버튼 값에 따라 LED 켜고 끄기
02_5 버튼 값에 따라 LED 밝기 조절하기
02_6 LED 주사위 만들기
03 아두이노의 감각 : analogRead
03_1 ADC값 간편하게 읽어보기
03_2 가변저항 살펴보기
03_3 가변저항 회로 구성하기
03_4 가변저항 입력에 따라 LED 밝기 조절하기
03_5 디지털 LED 막대 측정기
03_6 아날로그 LED 막대 측정기
03_7 빛 센서 살펴보기
03_8 빛 센서 회로 구성하기
03_9 빛 센서 값 읽어보기
03_10 빛 센서 값에 따라 LED 밝기 조절하기
03_11 조이스틱 살펴보기
03_12 조이스틱 입력 받아보기
03_13 구조체로 관련된 변수 묶기
- Special Page_ C/C++ 코너 : 구조체 살펴보기
- Special Page_ C/C++ 코너 : 포인터와 참조자 살펴보기
03_14 클래스로 관련된 변수와 함수 묶기
03_15 생성자에서 하드웨어 초기화하기
03_16 MyJoystick 클래스 파일 생성하기
03_17 myjoystick 라이브러리 만들기
- Special Page_ C/C++ 코너 : 클래스 살펴보기
04 빛의 연주 : 아두이노의 노래 : tone
04_1 부저 살펴보기
04_2 소리와 주파수 이해하기
04_3 수동 부저 회로 구성하기
04_4 수동 부저 소리내보기
04_5 부저 멜로디 연주하기
04_6 학교종 멜로디 연주하기
04_7 키보드 피아노 만들기
04_8 버튼 피아노 만들기
06 아두이노의 눈 : pulseIn
06_1 초음파 센서 살펴보기
06_2 초음파 센서 회로 구성하기
06_3 초음파 센서로 거리 측정해보기
Chapter 04 아두이노 고수되기
01 PWM의 주인공 : Timer1
01_1 Timer1 라이브러리 설치하기
01_2 LED 제어해 보기
01_3 피에조 부저 제어해 보기
01_4 서보모터 각도 조절해보기
02 찰나의 순간 : attachInterrupt
02_1 인터럽트 처리하기
02_2 버튼 인터럽트로 LED 켜기
02_3 버튼 인터럽트로 서보 회전하기
03 찰나의 순간 : attachPCINT
03_1 핀 신호 변화 인터럽트 라이브러리 설치하기
03_2 버튼 인터럽트로 LED 켜기
03_3 초음파 센서로 거리 측정해보기
Chapter 05 네오픽셀 활용하기
01 네오픽셀 라이브러리 만들기
01_1 네오픽셀 파도타기
01_2 하트 그려보기
01_3 함수 정리하기
- Special Page_ C/C++ 코너 : 이차 배열 함수로 넘기기
01_4 NeoDisplay 클래스 만들기
01_5 NeoDisplay 클래스 파일 생성하기
01_6 mydisplay 라이브러리 만들기
01_7 큰 하트와 작은 하트 교대로 그리기
02 벽돌 깨기 애니메이션 구현하기
02_1 공 그려보기
02_2 공 좌우로 움직이기
02_3 공 상하로 움직이기
02_4 2차 배열 교정하기
02_5 NeoDisplayEx 클래스 파일 생성하기
02_6 mydisplayex 라이브러리 만들기
- Special Page_ C/C++ 코너 : 클래스 상속과 다형성 이해하기
02_7 벽돌 추가하기
02_8 위 방향 벽돌 깨기
02_9 대각선 방향 벽돌 깨기
02_10 전체 소스 확인하기
03 벽돌 깨기 게임 구현하기
03_1 채 그리기
03_2 게임 실패 화면 넣기
03_3 가변 저항 추가하기
03_4 가변 저항 값 매핑하기
03_5 채 움직이기
03_6 게임 성공 화면 넣기
03_7 채 속도 증가시키기
03_8 전체 소스 확인하기
Author
서민우,코코랩스
현) 코코랩스(http://www.kocolabs.co.kr/) 대표.
연세대학교 산업공학전공.
충남인력개발원 파이썬·인공지능·FPGA/HDL, 연희직업전문학교 파이썬·인공지능, 한컴 아카데미 Cortex-M4·드론·리눅스, 서울기술교육센터 아두이노·FPGA, LG 전자 신입사원 C/C++, SK 하이닉스 RTOS, 삼성전자 리눅스 드라이버/RTOS, Xilinx FPGA/HDL, ETRI verilogHDL, 고려대 FPGA/HDL, 숭실대 아두이노 IoT, 전남대·순천대·충북대 라즈베리파이 등 교육.
현) 코코랩스(http://www.kocolabs.co.kr/) 대표.
연세대학교 산업공학전공.
충남인력개발원 파이썬·인공지능·FPGA/HDL, 연희직업전문학교 파이썬·인공지능, 한컴 아카데미 Cortex-M4·드론·리눅스, 서울기술교육센터 아두이노·FPGA, LG 전자 신입사원 C/C++, SK 하이닉스 RTOS, 삼성전자 리눅스 드라이버/RTOS, Xilinx FPGA/HDL, ETRI verilogHDL, 고려대 FPGA/HDL, 숭실대 아두이노 IoT, 전남대·순천대·충북대 라즈베리파이 등 교육.