본문 바로가기

Unity

Unity로 아두이노 시리얼 통신하기 - ArduinoSerial 사용 전 설정

 

Unity로 UI를 만들어서 Arduino랑 시리얼 통신을 하여 서보모터를 가동시켜보려고 합니다.

본 시리즈는 5편으로 작성될 예정이며 아래 링크로 바로 찾아볼 수 있습니다.

1. Unity로 아두이노 시리얼 통신하기 - 에셋 설치하기

2. Unity로 아두이노 시리얼 통신하기 - UI 생성하기

3. Unity로 아두이노 시리얼 통신하기 - ArduinoSerial 사용 전 설정

4. Unity로 아두이노 시리얼 통신하기 - Arduino에 코드 업로드하기

5. Unity로 아두이노 시리얼 통신하기 - Unity UI에서 아두이노 시리얼통신


이제 본격적으로 아두이노와 시리얼 통신을 하기 전에 사전 설정을 해보고자 합니다.

포트, Baud Rate 설정하기

경로 : Assets - ArduinoSerial - Scripts - Settings

New Arduino Settings 파일 클릭

(없을 시 Settings 폴더에서 마우스 오른쪽 클릭 - Create - Arduino - Arduino Settings로 생성)

Inspector창에 Port Name, Baud Rate 입력

  • Port Name : Arduino IDE 혹은 장치관리자에서 아두이노에 연결된 포트 확인 후 기입(예: COM5, COM3)
  • Baud Rate : Arduino IDE에서 아두이노에 설정해 준 Baud Rate 값 동일하게 작성(예시 : 9600)

ThreadDispatcher 생성하기

왼쪽 Hierarchy - CreateEmpty - GameObject의 이름을 ThreadDispatcher로 변경

오른쪽 IInspector에 Assets - ArduinoSerial - Scripts - Core에 ThreadDispatcher.cs로 드래그 앤 드롭

ManualServoManager 생성하기

왼쪽 Hierarchy - CreateEmpty - GameObject의 이름을 ManualServoManager로 변경합니다

이후 오른쪽 Inspector에 Assets - ArduinoSerial - Scripts - Core에 ManualServoManager.cs로 드래그 앤 드롭하여 컴포넌트로 넣어줍니다.

ManualServoManager 설정하기

1. 시리얼 설정하기

Assets - ArduinoSerial - Scripts - Settings에 New Arduino Settings.asset(혹은 자체 생성한 .assets 파일)을 드래그 앤 드롭

2. Slider에 서보모터 매칭하기

ManualServoManager 오브젝트의 Inspector에서 슬라이더 설정하는 곳에 Key Configs를 찾아주세요.

Key configs 앞의 화살표를 눌러 아래 항목을 열어준 다음 + 버튼을 눌러 연결할 모터 수 만큼 클릭합니다.

Key Configs에서 +를 눌러 추가한 모습

이제 사용할 Hierarchy의 Canvas 안에서 이전에 만들어 놓은 Slider를 드래그해서 Element 속 Slider에 넣어줍니다.

이후에 실제 아두이노와 연결된 모터의 핀 번호, Increase Key(사용 시) , Decrease Key(사용 시) 도 매핑해줍니다.

요소들을 다 매칭한 경우

연결한 서보모터가 많을 경우 더 추가하여 동일하게 작업하면 됩니다.


이렇게 Arduino와 시리얼 통신 하기 전 설정을 완료했습니다.

다음으로는 Arduino IDE로 아두이노가 Unity랑 시리얼 통신 하여 모터를 작동할 수 있도록 코드를 아두이노에 업로드하고자 합니다.