아두이노와 자바스크립트를 활용해 로보틱스 프로젝트를 시작한다. Node.JS와 IoT 라이브러리 중 각광받고 있는 조니 파이브(Johnny-Five)를 이용해 C 언어가 아닌 자바스크립트로 센서와 서보, 모터를 제어함으로써 나만의 움직이는 로봇을 제작해본다. 또한 복잡한 움직임을 제어하기 위한 애니메이션 API를 통해 좀 더 섬세한 동작을 가능하게 한다. 마지막으로 인터넷과 연결해 IoT 환경을 구축하고 더 나아갈 방향을 제시한다.
★ 이 책에서 다루는 내용 ★
■ 조니 파이브 REPL(Read-Eval-Print-Loop) 소개
■ 기본 출력 장치로 로봇 제작
■ 복잡한 출력 장치를 통한 프로젝트 생성 및 조니 파이브 API를 통한 I2C 같은 복잡한 인터페이스가 필요한 장치 사용 단순화
■ 서보와 모터 객체를 사용한 움직이는 로보틱스 프로젝트
■ 타이밍과 키 프레임을 사용해 복잡한 움직임을 프로그래밍할 수 있게 하는 애니메이션 API 소개
■ 조니 파이브 프로젝트에 USB 장치와 같은 다른 장치 적용
■ 외부 API에 조니 파이브 프로젝트 접속 및 자신만의 IoT 생성
★ 이 책의 대상 독자 ★
아두이노를 사용해본 적이 있거나 오픈소스 하드웨어를 새로 시작하고, 자바스크립트로 프로그램을 작성하고 싶은 독자에게 이 책이 적합하다. 자바스크립트와 Node.js에 대한 기본 지식을 갖췄다면 이 책을 효과적으로 학습하는 데 큰 도움이 될 것이다.
★ 이 책의 구성 ★
1장, ‘자바스크립트 로보틱스 시작’에서는 첫걸음으로 아두이노 우노(Arduino Uno)를 설정하고, NodeBot 세계를 살펴본다.
2장, ‘조니 파이브로 작업’에서는 REPL(Read-Eval-Print-loop)을 포함해 조니 파이브의 기초를 다룬다. 첫 프로젝트를 만들어본다.
3장, ‘디지털 출력 핀과 PWM 출력 핀 사용’에서는 기본적인 출력 장치인 디지털 출력 핀과 PWM 출력 핀의 사용 방법을 다룬다.
4장, ‘특수 출력 장치 사용’에서는 한 개 이상의 출력 핀을 이용해 장치를 제어하는 방법을 다룬다.
5장, ‘입력 장치와 센서 사용’에서는 아날로그 방식의 GPIO 핀을 이용해 입력장치를 이용하는 방법을 다룬다.
6장, ‘움직이는 로봇’에서는 조니 파이브로 서보와 모터를 제어해 13동작을 만드는 방법을 다룬다.
7장, ‘애니메이션 라이브러리를 활용한 움직임 개선’에서는 NodeBot의 움직임을 어떻게 개선해 구현할 수 있는지 살펴보고, 애니메이션 라이브러리를 알아본다.
8장, ‘고급 컴포넌트: SPI, I2C, 기타 장치’에서는 I2C, SPI와 고급 컴포넌트를 조니 파이브로 사용하는 방법을 다룬다.
9장, ‘세상과 NodeBot 연결, 앞으로 가야 할 길’에서는 아두이노와 다른 플랫폼에 조니 파이브를 이용해 NobeBot을 어떻게 인터넷에 연결할지 살펴본다.