아침부터 문서 작업과 코드 테스트가 산더미처럼 쌓여 있었고, 잠깐의 휴식이 절실했습니다. 하지만 풋볼을 하면 '업무 몰입 상태'가 깨질 것 같았죠. 그때 매니저가 제안했습니다. "작은 프로젝트 하나 만들어서 해커스터에 올려보는 건 어때?" 좋은 생각이었습니다, 프라나브.
그래서 인터넷으로 제어되는 RC 로봇을 만들기로 했습니다. 나중에 공개할 작은 '보너스 기능'도 넣기로 했죠(서프라이즈는 중요하니까요).
2막: 하드웨어의 숲
사내 하드웨어 샵에 도착했습니다. 눈길을 사로잡는 키트와 부품들이 가득했지만, 우리는 집중력을 잃지 않고 필요한 것만 골랐습니다(여러분도 그러세요).
Bolt WiFi 모듈
기본 로봇 키트
Arduino UNO 또는 Boltduino
L298N 모터 드라이버 실드
근접 센서
점퍼 와이어
파워 어댑터
3막: 단조
하드웨어의 숲에서 무사히 귀환했습니다. 이제 하드웨어의 제왕 데바시시가 마법을 부려 로봇을 조립할 차례입니다.
하드웨어 조립
캐스터 휠을 섀시 앞쪽 중앙에 장착합니다.
로봇카 섀시를 조립하고, 제공된 너트/볼트/휠을 사용해 DC 모터 2개를 장착합니다. 참고: 모터 단자에 전선을 납땜한 후 섀시에 장착하세요.
모터 단자를 L298N 모터 드라이버 모듈에 연결합니다. 참고: 모터 양쪽 단자를 드라이버 모듈의 같은 쪽에 연결하세요.
드라이버 모듈의 5V와 GND 핀을 아두이노의 5V와 GND에 각각 연결합니다.
Bolt의 5V, GND, Tx, Rx 핀을 아두이노의 5V, GND, Rx, Tx에 각각 연결합니다(교차 연결 주의). Boltduino의 경우 Bolt 유닛을 슬롯에 장착하면 됩니다.
입력 단자 4개(IN1, IN2, IN3, IN4)를 아두이노 핀 6, 7, 8, 9에 각각 연결합니다.
근접 센서의 5V, GND, OUT 핀을 아두이노의 5V, GND, 핀 3에 각각 연결합니다.
참고: 추가 도움이 필요하면 아래 회로도를 참조하세요.
Bolt 클라우드 연결
하드웨어 조립 후, Bolt 유닛을 Bolt Cloud에 등록하고 연결하세요. 자세한 방법은 등록 및 연결 가이드를 참조하세요.
4막: 그리고 연결이 생겼다
이제 하드웨어의 제왕이 코드의 암살자(저)를 불렀습니다.
코드로 로봇에 생명을 불어넣고 클라우드와 연결하는 임무를 맡았습니다. 다음 단계를 따라 여러분의 로봇도 작동하게 만드세요.
1단계: 코드 가져오기
이 프로젝트의 GitHub 저장소에서 코드를 받으세요. ZIP 다운로드 또는 클론 중 편한 대로.
2단계: 코드 구조 이해
코드는 두 부분으로 구성됩니다:
app 폴더
controller.html
controller.js (나중에 설명)
아두이노 펌웨어: Bolt_Robot_Car.ino (아두이노에 업로드)
3단계: 아두이노 설정
하드웨어 조립과 Bolt 클라우드 연결이 끝났다면, Bolt_Robot_Car.ino 펌웨어를 아두이노에 업로드하세요. 아두이노 IDE 설정 및 업로드 방법은 여기를 참조하세요.
4단계: 컨트롤러 앱
controller.html 파일을 더블클릭하면 다음 웹 페이지가 나타납니다.
Bolt Cloud 대시보드에서 확인할 수 있는 API Key와 Device ID를 입력하고 SUBMIT을 누르세요. 이제 제어 버튼으로 로봇을 조종할 수 있습니다. 버튼 클릭 시 controller.js의 자바스크립트 함수가 실행되어 Bolt Cloud를 거쳐 Bolt WiFi 모듈로 명령이 전달됩니다. 이제 RC 봇이 완성되었습니다. 센서를 추가하거나 자율 주행으로 개조하는 등 다양하게 확장 가능합니다. 실수해도 걱정 마세요, 메이커랜드의 원주민들이 언제나 도와드립니다.
5막: 이스터 에그 (보너스 기능)
"보너스 기능은 어디 있나?" 궁금하셨죠? 3막: 단조를 다시 보셨다면 이미 눈치채셨을 겁니다. TL;DR: 로봇이 경로 상 장애물이나 막힘을 감지하면 자동으로 정지해 벽에 부딪혀 부서지는 일을 방지합니다.