책소개
이 책은 전자기기나 부품 그리고 소프트웨어와 하드웨어에 대한 사전 지식이 없어도 이해할 수 있도록 구성했고 기초에만 머물지 않고 유선 및 무선으로 기기를 컨트롤 하는 부분까지 커버했습니다. 이 책을 통하여 최근 큰 화두가 되고 있는 드론과 사물 인터넷도 이해하고 다양한 센서를 사용 방법을 예제 프로젝트를 통해 자연스럽게 익힐 수 있도록 했습니다. 각 프로젝트에서 새로운 명령어 몇 개를 소개하며 소프트웨어를 경험으로 습득할 수 있습니다. 또한 사용한 언어들을 책 중간에 다시 체계적으로 정리하여 별도로 소프트웨어 언어를 배우지 않아도 프로젝트를 수행할 수 있도록 했습니다. 전자부품을 처음 접하는 독자를 위하여 Appendix에 저항, LED를 비롯한 필수부품도 설명해 두었습니다.
『아이디어를 발명으로 아두이노』는 1권과 2권으로 구성되어 있습니다.
1권은 디지털 신호로 외부기기를 컨트롤 하는 프로젝트부터 시작했습니다.
《1부 디지털 컨트롤》에서는 열 파장으로 동작을 감시하는 모션 감지 센서를 비롯하여 초음파센서, 온도습도 센서, 빛 주파수 감지 센서를 다루었습니다.
《2부 아날로그 컨트롤》에서는 빛 에너지, 온도, 가속도 등 아날로그 값을 아두이노에서 받으면서 다음 동작을 시키는 프로젝트와 악기를 만드는 방법을 정리했습니다.
《3부 유선통신 방법》에서는 유선통신 전체를 정리하여 설명하였으며 UART, SoftwareSerial, I2C, SPI 각각의 방법에 대한 설명과 함께 예제 프로젝트를 통하여 이해를 증진시켰습니다.
《4부 프로세싱 언어》에서는 아두이노에서 콜랙트 되는 데이터를 멋있는 창에서 볼 수 있도록 하는 프로세싱 언어를 소개하고 프로세싱으로 만든 모니터 창에서 아두이노를 컨트롤 하는 프로젝트도 다루었습니다.
《5부 모터 컨트롤》에서는 DC모터, 서보모터, 스텝모터 각각의 구조와 구동 방법에 대해 설명하고 단일 IC 칩을 사용하여 모터를 컨트롤 하는 방법도 자세히 설명했습니다. 또한 모터쉴드를 사용하여 모터를 컨트롤 하는 예제 프로젝트를 각 모터별로 다루었습니다.
《6부 프로젝트 결과물 콤팩트하게 만들기》에서는 아두이노 보드를 사용하는 방법에서 한 걸음 더 나아가 보드에서 프로그램 된 칩을 분리해서 결과물을 콤팩트하게 만들어 사용하는 방법을 설명했습니다. 또한 다양한 마이크로 컨트롤러를 사용하는 방법도 설명했습니다.
2권은 1권에서 습득한 지식을 활용하는 부분과 유선으로 하던 작업을 무선으로 하는 내용이 담겨 있습니다. 무선 컨트롤 방법인 IR, RF, 블루투스, Xbee를 사용하는 방법에 대하여 자세하게 설명하였습니다. 저렴한 RF 통신을 사용하는 방법, 출입자를 컨트롤 하는 RFID 카드 사용하기와 블루투스 통신을 안드로이드폰과 아이폰에서 구현하는 프로젝트를 포함시켰습니다.
목차
차례 《아이디어를 발명으로 아두이노Ⅰ》
■ PC와 연결하기
소프트웨어 다운로드
프로젝트에 사용되는 아두이노와 부품
■ 제1부 디지털로 컨트롤하기
1. 아두이노 보드에 있는 LED를 켜기/끄기
▶ 스케치에 대해 알아보기
▶ 우노 보드의 주요 구조 설명
2. 외부 LED 켜기/끄기
3. LED 밝기 컨트롤
4. 시리얼 모니터와 아두이노, 텍스트 주고받기
5. 디지털 핀에 입력되는 값 시리얼 모니터에 프린트하기
▶ 스케치에서 사용한 핵심 단어 정리
▶ 풀 다운 저항 설명
6. 스위치를 푸시하여 LED 켜기
7. 스위치 푸시 수에 따라 LED 켜기/끄기
8. RGB LED 색상 조정하기
9. 모션감지 센서
10. 초음파 센서(Utrasonic Distance Sensor)로 거리 측정
11. 온도 습도 센서(DHT11)
12. 빛 주파수 감지센서
▶ 아두이노 스케치 구조와 기본 언어 중간정리
■ 제2부 아날로그로 컨트롤하기
1. 가변저항 사용 LED 밝기 컨트롤
▶ 저항 연결 리뷰
2. 광센서: CDS 포토 레지스터(Photo-resistor)
3. 온도센서(LM35)
4. 적외선(IR) 라인 센서
5. 가속도 센서
6. 스피커 톤 조정하기
6-1. 음계 컨트롤
6-2. 음계 라이브러리 사용하기
6-3. 터치센서에 tone 함수를 사용 간단한 키보드 만들기
■ 제3부 유선통신 방법
▶ 시리얼 통신방법
▶ 소프트웨어시리얼(SoftwareSerial) 사용하기
▶ I2C 센서 사용하기
1. I2C 온도센서(TC74) 값 아두이노에서 받기
2. I2C 자이로(GYRO) 센서
3. 여러 개 I2C 센서 값을 동시에 받기
▶ SPI 센서 사용하기
4. 아두이노에서 SPI 사용 가변저항에 데이터 보내기
■ 제4부 프로세싱(Processing) 언어
1. 컴퓨터그래픽 GUI 사용 아두이노 컨트롤하기
2. 프로세싱에서 마우스 클릭하여 아두이노 LED ON 시키기
3. 아두이노 센서에서 받는 값, 프로세싱 창에서 실시간으로 보기
■ 제5부 모터 컨트롤
▶ DC 모터 컨트롤
1. DC 모터 컨트롤: 트랜지스터 사용
2. DC 모터 컨트롤: PWM 방식 속도제어
3. DC 모터 컨트롤: 가변저항으로 속도 조절하기
4. DC 모터 컨트롤: 회전 방향 조정하기 (H-브리지 IC 사용)
5. DC 모터 컨트롤: L293D 사용 속도와 회전 방향 조정하기
▶ 서보 모터, 스테핑모터 컨트롤
6. 서보 모터 기본 스케치
7. 서보모터: 포텐시오 미터로 각도 컨트롤하기
8. 서보모터: 제3의 라이브러리를 사용 회전 속도 컨트롤하기
9. 스테핑 모터 컨트롤: L293D 사용
▶ 드라이버 쉴드 사용: DC 모터, 서보 모터, 스테핑 모터 컨트롤
10. DC 모터 컨트롤: 쉴드 사용
11. 서보 모터 컨트롤: 쉴드 사용
12. 스텝 모터 컨트롤: 쉴드 사용
■ 제6부 프로젝트 결과물 콤팩트하게 만들기
1. 소형 Attiny85 칩에 스케치 업로드 하는 두 가지 방법
2. 소형 Attiny85로 4개 LED 구동하기
3. Atmega328 Pin Map
■ Appendix
1. 아두이노 소프트웨어 다운로드 방법 상세 설명
2. 윈도우 8 컴퓨터에 장치 드라이버 설치하기
3. 전자응용 (한 걸음 더 전진하여 큰 파워 컨트롤하기)
① 저항 ② 커패시터 ③ 다이오드 ④ 트랜지스터 ⑤ 달링턴 트랜지스터
⑥ 옵토 커플러 ⑦ 릴레이
4. 아두이노 Uno R3 하드웨어
5. 아두이노 패밀리 소개