이 책에는 자신만의 프로젝트를 만들기 위해 알아야 하는 다양한 기초적인 예제들이 수록되어 있습니다. 여러분은 이 책에서 아두이노의 사용법, 기본 구성, 간단한 코드 작성법을 배울 수 있고, 이를 통해 마이크로프로세서를 말하게 하고, 듣게 하고, 다른 기기와 대화하게 만들 수 있습니다. 또한 LED, 스위치, 다이얼 등을 회로에 연결하여 조작해 보고, 컴퓨터를 이용하여 DC, 서보, 스테퍼 모터를 제어하게 됩니다. 이러한 모든 경험은 기초적이고 초보적인 단계에 해당하기 때문에 누구나 쉽게 배울 수 있습니다. 그 동안 인터렉티브 아트에 관심과 흥미가 있었으나 도전하지 못했다면, 이 책이 큰 용기를 줄 것입니다.
이 책의 가치
이 책에서 다루는 작업들은 우리 주변 어디에나 존재합니다. 여러분이 광고나 교육을 위한 인터렉티브 아트에 관심이 있든, 전자공학의 기초를 배우거나 아이디어를 프로토타이핑 하는 데 관심이 있든, 인간의 입력과 존재에 반응하는 멋진 예술 작품을 만드는 데 관심이 있든, 혹은 단순히 이 세상이 어떻게 돌아가는지에 관심이 있든 간에 이 책은 바로 그런 여러분을 위해 존재합니다.
세상은 어떻게 돌아갈까?
전기를 사용해서 움직이는 대부분의 장치에는 마이크로프로세서가 내장되어 있습니다. 여러분이 살고 있는 세상의 많은 부분은 마이크로프로세서를 통해 제어됩니다. 실리콘을 소재로 한 이 조그만 칩에 명령이 입력되고, 전기가 흐르면 그 명령이 실행됩니다. 핸드폰, 자동차, 엘리베이터, 가전제품, 의료과학장비 등은 모두 마이크로프로세서로 작동됩니다. 우리는 마이크로프로세서를 이용하여 의사소통을 하고 세상을 바라보는 것입니다. 이게 바로 오늘날 세상이 돌아가는 방식입니다. 따라서 만약 여러분이 전자 기술에 대한 기본 지식을 갖추지 않는다면, 21세기가 주는 혜택을 완벽하게 누릴 없을 뿐만 아니라 의도치 않은 불이익을 당할 수도 있습니다.
이 책의 목표
이 책에는 목표가 있습니다. 여러분이 앞으로 혼자 학습해 나가는 데 필요한 기본적인 기술을 알려드리는 일입니다. 전자기술의 세계, 마이크로프로세서, 인간과 기계의 인터랙션 등은 너무나도 광범위한 지식이기 때문에 이 책 한 권으로 여러분에게 모든 것을 제공한다는 것은 사실상 불가능한 일입니다. 따라서 여기서는 아주 기초적인 지식만을 다루고자 합니다. 기본적인 지식만 제대로 배운다면 여러분은 앞으로 얼마든지 스스로 학습을 해나갈 수 있습니다. 특히 직접 해 보는 경험을 통해서 여러분은 많은 것들을 배울 수 있을 것입니다. 이 책이 여러분과 전자기술의 세계가 만나는 첫 경험이 되기를 바랍니다. 도중에 포기하지만 않는다면, 몇 번이고 실수를 해도 괜찮습니다. 그러한 실수 역시 귀중한 경험이 될 테니까요.
CHAPTER 1. 무엇이 필요할까(Required meterials)
재료 1 : 아두이노, 브레드보드, 컴퓨터와 소프트웨어
재료 2 : 전자 부품(LED, 저항, 10k옴 포텐시오미터, 순간 스위치, 솔리드 코어 전선 등)
재료 3 : 도구(전선 스트립퍼, 작은 플랫헤드 & 필립스 헤드 스크류드라이버, 니퍼, 바늘코 플라이어 등)
CHAPTER 2. 준비하기(Setup)
아두이노와 브레드보드 세팅하기
- 회로
- 아두이노를 나무판에 고정시키기
- 브레드보드를 나무판에 고정시키기
- 아두이노와 브레드보드 연결하기
- 브레드보드의 양쪽 파워?그라운드 버스 연결하기
- 완성된 모습
CHAPTER 3. 말하기(Speaking)
LED 깜빡이기/기본회로를 만들어보자
- 회로
- LED를 브레드보드에 연결
- 220옴 저항을 사용하여 LED의 캐소드와 그라운드 버스를 연결
- 6cm 전선을 이용하여 아두이노의 핀 2와 LED의 애노드를 연결
- USB 케이블로 아두이노를 컴퓨터에 연결
아두이노에 코드를 작성하고 업로드해 보자
- 아두이노가 컴퓨터와 제대로 연결되었는지 확인
- 코드 작성하기
- 코드 확인하기
- 코드 업로드하기
- 깜빡이는 LED 구경하기
방금 여러분은 무슨 일을 한 것일까?
출력
- 출력은 마이크로프로세서가 말을 하는 방식이다
디지털 출력
- 디지털 출력이란 무엇일까?
디지털 출력-LED의 상태 조정하기
- 아두이노 코드 구조
- 코드에 코멘트 달기
디지털 출력-여러 개의 LED 깜빡이기
- 회로
- 코드
- 다섯 개의 LED 더 추가하기
- code change
아날로그 출력
- 아날로그 출력이란 무엇일까?
- 아날로그 출력-LED의 밝기를 조절해보자
- 회로
- 코드
아날로그 출력-다중 아날로그 출력
- RGB LED
- 회로
- 코드
시리얼 출력
- 시리얼 출력-컴퓨터에 메시지를 보내라!
- 코드
- counting code
CHAPTER 4. 듣기(Listening)
입력
- 입력은 마이크로프로세서가 '듣는 것'이다
디지털 입력
- 디지털 입력이란 무엇일까?
디지털 입력 - 스위치의 상태를 들어보자
- 회로
- 디지털 신호를 듣기 위한 코드 작성하기
디지털 입력과 출력
- 회로
- 코드
디지털 입력 - 스위치 디바운스 하기
- 코드
- code change
디지털 입력 - 순간 스위치의 상태 유지하기
- 코드
디지털 입력 - 다중 디지털 입력
- 회로
- 코드
- 세 개의 LED를 스위치와 함께 연결해보자
- 회로
- 코드
- 토글 코드
아날로그 입력
- 아날로그 입력이란?
아날로그 입력 - 전압의 세기를 들어라
- 아날로그 핀
- 회로
- 아날로그 신호를 듣기 위한 코드
아날로그 입력과 아날로그 출력
- 회로
- 코드
다중 아날로그 입력 출력
- 회로
- 코드
시리얼 입력
- 시리얼 입력 - 컴퓨터로부터 메시지를 받자
- 회로
- 코드
CHAPTER 5. 대화하기(Conversations)
아두이노와 다른 기기의 대화
- 프로세싱을 이용한 시리얼 통신
시리얼 통신 - ASCII 데이터 전송하기
- 회로
- 전체 코드
- 코드 프로세싱
- 주의할 점
시리얼 통신 - BYTE 데이터를 전송하자
- Serial.write( )
- 회로
- 코드
시리얼 통신 - BYTE 데이터를 수신하자
- 하나의 값만 받기
- 회로
- 코드
시리얼 통신 - 부르고 응답하기 - ASCII
- call and response process
- 주의할 점
- ASCII 코드로 다중 값 전송하기
- 회로
- 코드
- 다중 값을 ASCII 코드 형태로 수신하는 프로세싱
- 주의할 점
시리얼 통신 - 보내고 응답하기 - BYTE
- 전체 코드
- 코드 프로세싱
다중 값 수신
- 회로
- 코드
CHAPTER 6. 모터 컨트롤(motor control)
외부 컴포넌트와의 대화
DC 모터 컨트롤
- 회로
- 코드
DC 모터 컨트롤 - 스위치로 방향 컨트롤하기
- 회로
- 코드
DC 모터 컨트롤 - 포텐시오미터로 속도 컨트롤하기
- 회로
- 코드
서보 모터
- 서보 모터
- 회로
- 코드
포텐시오미터로 서보 컨트롤하기
- 회로
- 코드
스테퍼 모터
- 스테핑 오더
- 스테퍼 모터에 전선 연결하기
- 양극성 스테핑 모터의 경우
- 회로
- 단극성 스테핑 모터의 경우
- 회로
- 스테핑 모터를 움직이게 하기
- 코드
- 스테핑 모터를 양방향으로 움직이게 하기
- 스위치를 이용해 스테퍼 모터 컨트롤하기
- 회로
- 코드
CHAPTER 7. 결말(Conclusion)
결말
찾아보기
키모 카르비넨 , 테로 카르비넨
JEREMY BLUM
사이먼 몽크