게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
LEGO Wall-E를 구동시켜보았습니다.
게시물ID : toy_10366짧은주소 복사하기
작성자 : lobotomi
추천 : 16
조회수 : 2559회
댓글수 : 12개
등록시간 : 2016/01/25 19:47:53
에헤라디야~ 드디어!! 제가!! 월E를...!!! 간지 레벨업 하였어요!!
기말고사때 오늘의 유머 눈팅하다가 발견한 레고 월E.. ㅠ (원문: http://www.todayhumor.co.kr/board/view.php?table=toy&no=10005)
언제나 그렇듯 공부는 눈에 안들어오고 월E 생각만 하다가 발견한 Wall-E rc motorized 유튭 영상 ㅠㅠㅠ (https://youtu.be/EscEbLeOILI)

그러나 저는 기필코 제 아이폰으로 간지나게 제어를 하고 싶었습니다...
그래서 아두이노를 이용해서 (게다가 마인드스톰보다 훨씬 싸게 구성할 수 있어요) 제작하였어요~
제 블로그에 상세히 적었는데, 이곳에 내용 그대로 옮기겠습니다. (http://lobotomi.tistory.com/40)
(코드 같은 것은 여기엔 따로 안올립니다. 필요하시다면 제 블로그 글 참고 바랍니다.)





LEGO Wall-E Motorized using Arduino controlling by iPhone




기말고사 기간에 레고 월E 출시 발견. 이어서, 마인드스톰 추가 구성해서 움직이게 한거 보고 넋이 나감. 

그래서 겨울 방학때 아래의 미션하에 프로젝트를 진행하였다:


1. 레고 월E 굴러가게 하기.

2. 무조건 내 핸드폰 앱으로 컨트롤 가능해야 함. 적외선 컨트롤러 이딴거 난 안쓴다.

3. 블루투스 구성 위한 마인드스톰 오지게 비쌈. 아두이노 사용해서 경비절감.


그리하여 아래와 같이 완성!



Step 1. 부품을 준비한다. Prepare parts we need


Requirement parts:

  1. Lego Wall-E : $60.
  2. Motors : LEGO Power Functions M-Motor. (9v 65mA) $7 x 2 = $14.
  3. Lego Pick-a-brick : For connecting motor. 4pcs = $1
  4. Arduino UNO Rev3 : $25.
  5. Bluetooth module : HM-10. $9.
  6. 9v battery holder with on/off switch : $2
  7. 9v batteries : $3
  8. L293D Motor Drive Shield Board : $5
  9. Wires : Male to female 40pcs = $1


Total cost: $120


parts.jpg



Step 2. 아뒤노 하드웨어 부품을 연결한다. Build Arduino hardware parts



thumb_IMG_0044_1024.jpg
connection.jpg


나의 모터쉴드는 아두이노 위에 겹쳐서 꼽는 방식이었다. 그 후 모터 연결하고 전원 연결은 모터 쉴드에다 하면 되고, 블루투스 모듈은 와이어를 이용해서 그림과 같이 해당 핀에 분선하여 연결한다. 나의 경우 TX를 3번 핀, RX를 2번 핀에 연결 했다. (모터 컨트롤 핀으로 쓰이지 않는 것을 선택해야 한다. 참고로 0번과 1번, 즉 아두이노 보드의 TX와 RX는 USB와 연결된 프로그램 업로드 용이므로 사용을 피한다.)



Step 3. 아두이노에 모터 제어 프로그램을 업로딩한다. 

Upload a motor control program to Arduino.



아두이노를 컴퓨터에 연결하고, Arduino 공식 사이트에서 프로그램 업로드 소프트웨어를 다운받아 설치한다. 

Tools 메뉴에서 Board 를 Arduino Uno 로 선택한다. 코드를 작성 후 업로드 버튼을 눌러 아두이노 보드에 작성한 코드 프로그램을 업로딩한다. 참고로, 고맙게도 모터관련 라이브러리가 이미 제작되어 있다. 이를 이용하면 모터 제어를 쉽게 짤 수 있다. AFMotor임.

https://learn.adafruit.com/adafruit-motor-shield/library-install

위 URL로 들어가면 github 다운로드 링크가 나온다. 다운받은 폴더를 아뒤노 개발툴 라이브러리 폴더 안에 넣고 (e.g. ~/Arduino/libraries/AFMotor) AFMotor.h 파일을 아뒤노 코드에 인클루드 시키면 사용할 수 있다. 

내가 짠 아뒤노 코드는 이 글 최하단에 추가하였으니 참고바람.


참고로 HM-10의 커맨즈는 다음과 같다. 아뒤노 시리얼 모니터에서 입력해보고 정상적으로 응답이 오는지 확인하자. 또한 시리얼 하단에서 no line ending 옵션으로 되어 있는지도 확인한다. 

  • "AT" 전송 시 응답 "OK"
  • "AT+VERR?" 전송 시 응답은 현재 버젼 출력 
  • 이름변경: "AT+NAMEmyWallEBLT" 전송 시 응답 "OK+SET..."
  • 비번변경: "AT+PIN1234" 전송 시 응답 "OK+SET..." (디폴트:000000)
  • 스래이브/마스터변경: "AT+ROLE0" 전송 시 응답 "OK+SET:0" (디폴트: 0 슬래이브. 1은 마스터를 의미.)



Step 4. 아이폰 블루투스 컨트롤러 앱을 제작한다. Develop iPhone bluetooth controller app.


thumb_IMG_0062_1024.jpgthumb_IMG_0063_1024.jpg



그냥 뭐... 잘 짜면 된다...;; 역시 하단에 필요 코드를 첨부하였다. 프로젝트는 기본 Single View 프로젝트로 생성하면 되고, Swift가 아닌 Object C 코드이다. 컴파일 후 아이폰에 올리고 실행하면 위 사진 왼쪽 화면이 나온다. (블루투스가 켜진 상태여야 함.) 내 월E 블루투스를 선택하면, 커넥션 성공 시 오른쪽 화면으로 이동하게 된다. 이것저것 눌러봐서 모터가 잘 도는지 확인한다. (내 이름 석자가 잘 보이는지 확인한다. 제일 중요함 음뫄하하하하!)



Step 5. 월E를 조립한 후 조립 해 둔 하드웨어 부품을 부착한다.

Assemble the Arduino hardware parts onto the Wall-E.


thumb_IMG_0045_1024.jpg


일단 바퀴에 모터 두개 부착.


thumb_IMG_0064_1024 (1).jpg


배터리는 배안에 넣어주고 전선은 목 옆쪽 공간을 통해 밖으로 빼준다.


thumb_IMG_0065_1024.jpg


요런식으로 나는 등뒤에 전기테잎으로 고정하였다... 전테말고 다른 방법을 강구하고 싶지만..

(누가 우리 월E 배낭 좀 만들어주시오. ㅎㅎㅎ)





Complete!!!


thumb_IMG_0068_1024.jpg








Appendix


* 모터의 선택 : 월E에 실리콘 떡질해서 모터 고정시키고 싶지 않아서 레고 모터 사용. 추가적으로 이때문에 3번 항목 구입 발생.. 모터랑 월E 바퀴 연결부품인데 필요한 브릭만 레고사에서 주문 가능.


* 라즈베리 파이에 대해 : 이왕이면 더 가지고 놀게 많은 PI 를 사려고 했으나, 이게 컴터 메인보드 같은거라 배터리로 안되고 파워 지속공급 되야 함. 즉, 유선 월E가 된다는 황당한 시츄에이션이... -_- (그거슨 있어서는 안되는 일이야..)


* 블루투스 모듈: HC-05 나 HC-06 많이들 쓰는데, 안드로이드는 이거 써도 됨. 허나 아이폰 6 부터는 블루투스 4.0 이라서 안잡힘. 이거 몰랐어서 블루투스 4.0 쓰는 HM-10으로 다시 샀음. (내 돈...)


* 모터 드라이버 쉴드: 걍 젤 싼거, 모터 두개 이상 돌릴 수 있는거로 사면 됨. 모터 쉴드는 모터 연결 편리성과 파워를 안전정으로 공급하기 위해 씀. 좀 더 자세히 말하면, 첫째는, 일반적으로 모터는 높은 전류 필요로 함. (레고 모터도 65mA임) 허나 아두이노는 핀당 20mA 출력함. 드라이버가 이를 충분한 전압과 전력으로 출력할 수 있게 해 줌. 둘째는, 모터 회전 방향 변경을 하려면 + - 바꿔줘야 하는데, 이를 위한 복잡한 전선 연결을 해결해 줘서 편리하게 방향 변경할 수 있게 해줌. (그때가 납땜에 영혼을 불사를 수 있다면 직접 해도 될듯함...) 더 자세한 내용은 네이버 아두이노 카페 글 참고 http://cafe.naver.com/arduinostory/30555


* 기타 제작 과정에서 도움 받은 참고 자료 및 사이트 Additional useful references. 


LEGO Wall-E 21303 Motorized with Power Functions https://youtu.be/3_9q6RjB5nM

Controlling LEGO DC motor with an Arduino https://youtu.be/PtinpaVpHeo

IPhone to Arduino using Bluetooth 4.0 http://www.instructables.com/id/IPhone-to-Arduino-using-Bluetooth-40-/

Core Bluetooth Programming Guide https://developer.apple.com/library/...

Bluetooth 4.0 datasheet http://www.pridopia.co.uk/pi-doc/BT4.0-HM-10-Serial_Port_BLE_Module_Master_Slave.pdf



출처 http://lobotomi.tistory.com/40
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호