본문 바로가기

Robot/Robot Program - ROS

Unity에서 Arduino 아두이노를 데리고 놀아보자 -ARDUnity-

제가 알고 지내는 분들 중에 새롭게 뭔가를 스타트업을 하시는 분이 계십니다. 우연히 어디 구경삼에 놀러갔다가 요즘 근황을 듣게 되었는데요. 그분의 -정확히는 그분들의 아이템을 듣고 아~주 재미있어 보이더라구요^^. 그래서 제가 한 번 그 분들이 만들어 주신 예제를 테스트해보고 싶다는 생각을 했지요. 그래서 요렇게 (제가 맨날 깊이있는 글은 안쓰고 이렇게 편하게 따라하기 수준의 글만 적는) 노는걸 좋아하는 제 습관대로 한 번 따라해 보기로 했습니다.

오늘 소개할 아이는 ARDUnity라는 이이입니다. 게임 개발로 유명한 유니티(Unity)를 이용해서 대표적인 하드웨어 플랫폼인 아두이노(Arduino)를 핸들링해 보는 것이 주요 기능입니다. 그래서 Unity가 가지는 엄청 좋은 S/W 개발 플랫폼과 만나 좋은 시너지가 나지 않을까 기대도 살짝꿍 해봅니다.^^. 저는 사실 유니티가 처음이기 때문에 ARDUnity가 배포하는 가장~~~ 기초 스러운 예제하나를 따라 하면서 이 S/W의 기능을 기초스럽게 파악해볼까 합니다.^^.

유니티의 실행 화면입니다. 저 RGB 좌표축 색만 봐도 흠~~~ 3D군 할 수 있죠~^^

유니티에 첨가되는 뭐라고 할까요... 앱? 라이브러리? 툴박스? 뭐 유니티에서는 Asset이라고 부릅니다.^^ 뭔가 내꺼같은 느낌의 단어죠..ㅎㅎ^^ 아무튼 Asset Store에 들어가야 합니다.^^ 거기서...

ardunity라고 검색하면 저렇게 나타납니다.^^.

슬~~~쩍 불러오기를 눌러주면 되지요... 살짝 설명에도 있네요.. Maker들에게 좋은 솔루션일거라는.... Arduino를 C스러운 지식없이 다루는데 말이죠^^

그러면 뜨는 저 창에서 Import해 주면 됩니다.^^

아~ 그런데 저런 에러가 나타나더군요. ARDUnity의 공식 사이트[바로가기]에서는 저럴 경우...

Edit -> Project Settings -> Player로 가서

Inspector의 PlayerSettins에서 Other Settings를 선택해서

API Compatibility Level.NET 2.0 Sub... 어쩌고를...

.NET 2.0으로 변경하라고 합니다.

이제 예제를 한 번 돌려보도록 하죠... 아.. 이때 저는 Unity를 한 번 끄고 재시작을 했습니다. 아무튼 그리고 Project창에서 Assets -> ARDUnity -> LED -> Digital을 선택해서 나타나는 예제들 중 CircuitTest(Digital LED)를 선택합니다.

그리고 메뉴에서 ARDUnity -> Wire Editor를 선택합니다. 저는 저 ARDUnity라는 메뉴가 안떠서 유니티를 재시작했던 거랍니다.^^ 뭐 아무튼 그러고 나면...

저런 그림이 나타나는데요... ARDUnity에서 배포하는 예제는 아두이노 우노 버젼의 2번핀에 LED를 저항과 함께 연결합니다만, 저는 우노 보드의 자체 LED를 사용해서 테스트를 할려고 합니다. 그래서 위 그림대로 LED를 누르고, Digital Output이라는 탭에서 Pin 항목에 2번이라고 되어 있는 것을...

13번으로 변경했습니다. 왜냐면 Arduino Uno 보드의 경우 사용자가 간편히 테스트 할 수 있는 LED를 13번핀에 설치해줬거든요^^ 아무튼 그렇게 바꾸면 ARDUnity의 Wire Editor에도 해당 블럭의 설정이 13으로 변경되는 것을 알 수 있습니다.

그리고 나면~~~ HierachyArdunity를 클릭하고 Ardunity AppExport Sketch를 눌러줍니다.

이름을 잡아주고...

나면 저렇게 Arduino 프로젝트가 만들어 집니다.^^.

이제 아두이노를 열어서 파일 -> 스케치북 에서 아까 지정한 이름의 프로젝트를 열고서

핀 설정이 바뀐것도 확인하고...^^

업로드를 선택하면 저렇게 아무~~ 에러없이 깔끔하게 아두이노에 업로드가 완료됩니다.^^

그렇게 보드를 연결해둔 상태에서 다시 유니티로 돌아와서 위에 표시된 PLAY를 눌러주면 됩니다^^

그러면 위 그림처럼 Comm Serial이라는 탭에서 COM Port Number를 잡아주면 됩니다.

그리고 Connect를 누르면면

FPS라는 항목이 뭔가 소란스러워(^^) 집니다^^

그리고 이제 FALSE와 TRUE를 클릭해보면~~~

위에 표시된 LED가 꺼졌다가~~

켜지는 것을 확인할 수 있답니다.^^.

Component를 추가하는 창에서 보면

아두이노로 할 수 있는 많은 것들을 이미 잘 준비해 두었다는 것을 알 수 있습니다. 요런걸 이용해서 로봇이나 혹은 감각적인 창조활동(^^)을 해볼 수 있지 않을까 하네요^^. 아직은 유니티에 익숙해 져야 하기 때문에 조금 더 예제를 다뤄봐야 할 듯 합니다. 그러면서 유니티와 아두이노 = ARDUnity로 뭘 할지 생각해봐야죠^^ 아무튼 재미난 걸 만드신 박대표님 오이사님 수고하셨습니다.^^. 사실 요즘은 제가 로봇을 하는 사람이 맞는지 회의를 느끼고 있답니다. 그냥 내가 할 줄 아는 그 쥐꼬리만한 지식을 로봇으로 포장한 건 아닐까하는 자신감상실의 감정이지요. 대체 난 뭐하고 있나...하는 조급함을 느끼기도 하구요ㅠㅠ. 이럴때 잠시 잡생각을 잊고 즐겁운 시간을 가졌네요^^

반응형