본문으로 바로가기

유니티에서 뭔가를 만지작 거리는 것이 점점 재미있어 집니다.^^. 뭐 그거야 제가 첫 글[바로가기]에서도 이야기했지만, 아주 좋은 헬퍼(^^)를 두고 있기 때문이기도 하며, 또 아두니티(ARDUnity)라는 재미난 애셋을 이용해서 아두이노라는 하드웨어를 건드리는 재미도 같이 느끼기 때문이겠지요^^. 오늘은 ARDUnity가 제공하는 몇 몇 자원을 이용해서 서보모터를 돌리는 것을 해볼려고 합니다.^^

첫화면입니다. 이제 아두니티(ARDUnity)를 import하는 것은 지나가죠~~^^ import까지 되고 서보모터 돌리기 예제를 따라가볼까요^^

일단, UI->Canvas를 추가합니다.

저렇게 생성됩니다.

이제 Canvas의 하위에서 UI->Panel을 추가합니다.

저렇게 생성됩니다.

이제 방금 생성한 Panel을 선택한 상태에서 메인 메뉴의 ARDUnity->add Utility->DialSlider를 선택합니다.

그러면 Panel의 Inspector에 Dial Slider가 생성되었음을 확인할 수 있습니다.

Panel에서는 Image 속성이 필요없어서 지웁니다.^^

이제 아까 Panel의 이름을 DialSlider로 변경하고...

Rect Transform의 속성값을 위와 같이 해 둡니다. 그리고, Dial Slider의 minAngle과 maxAngle을 잡아줍니다. 이 각도는 실제 서보모터의 구동 각도를 제한하는 것입니다.

그리고, DialSlider에 Empty Create를 선택한 후 위 그림처럼 이름은 Knob으로 하고, Canvas Renderer와 Image라는 Component를 추가(add)합니다.

이제 Assets->ARDUnity-ResourcesSteeringWheel을 마우스로 끌어다가 KnobImageSource Image에 놓습니다.

그러면 위 그림처럼 됩니다.^^

이제 다시 Canvas 밑에 만들어 둔, DialSliderDial Slider 속성의 knob 항목을 클릭해서 나타난 창에서 Knob을 선택해 줍니다. 이제 여기까지만 작업한 후에 중간 점검을 해 볼까요???

이제는 아두이노와 연결을 해야죠^^ Empty Create를 한 다음 ARDUnity로 이름을 잡고, Ardunity AppComm Serial을 추가합니다. 이 내용은 이 전 글을에서 다루었으니 이제는 살짝 가볍게 지나가도록 하죠^^

그리고, ARDUnity 하위에 Servo를 만들어서 Generic Servo를 Add Component합니다.

그리고, DialSlider를 선택한 후, ARDunity의 DialSliderReacotor를 선택합니다.

그러면 ARDUnity의 Wire Editor에 저 블럭 4개가 이미 생성되어 있을 겁니다.

위 그림처럼 연결해 주면 됩니다.^^ 아 서보 모터의 연결 핀 : Pin 2로 해주구요^^

이제 ARDUnity를 선택하고, Export Sketch를 해서 아두이노 소스코드를 생성합니다.

아두이노와 서보모터는 위 그림처럼 연결합니다.^^

생성된 아두이노 코드를 아두이노 보드에 업로드해주면 됩니다.^^

이제 보드와 모터를 연결한 그림이구요~~~

헨들의 움직임에 따라 서보모터를 구동하는 그림입니다.^^


댓글을 달아 주세요

  1. 황태준 2017.05.22 21:33 신고

    안녕하세요 아두이노 관련 프로젝트를 진행하다 아두니티에 관심이 생겨 댓글 남기게 되었습니다
    현재 아두이노와 안드로이드간 USB통신을 통해 모터,로봇팔을 제어 하고 있습니다
    이 서보모터 다루기 글에서 유니티로 로봇팔을 제어 하고 있는데 이 유니티를 pc가 아닌 스마트폰에서 실행시킨 유니티에서 제어해도 로봇팔이 제어가 되는지 궁금합니다!!
    그리고 제가 유니티로 천원짜리를 인식해 상자를 하나 생성하는 간단한AR어플을 만든 적 이 있는데 만약 상자가 생성되면 로봇팔을 움직일 수 있게 프로그래밍이 가능 할까요?? 답변 해주시면 정말 감사하겠습니다

    • BlogIcon PinkWink 2017.05.23 07:36 신고

      아하... 잘 모르겠습니다.ㅠㅠ. 제가 깊이 있게 파고들지를 않아서요ㅠㅠ.
      ARDUnity를 만든 제작자분께 바로 질문하는건 어떨까요?^^