본문 바로가기
Unity

[Unity] 유니티 아두이노 블루투스 연결하기

by ifhead 2022. 8. 6.
반응형

저는 블루투스모듈 ZS-040을 이용했습니다.

다른 모델도 방식은 동일합니다.

 

아두이노 블루투스 테스트

회로 연결

회로도와 같이 연결합니다.

TX는 2번 핀, RX는 3번 핀

아두이노 코드 업로드

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // RX, TX

void setup() {
  Serial.begin(9600);
  mySerial.begin(9600);
}

void loop()
{
  if (mySerial.available())
    Serial.write(mySerial.read());

  if (Serial.available())
    mySerial.write(Serial.read());
}

Bluetooth Terminal을 설치 

  • 먼저 연결할 대상(PC등)과 아두이노 블루투스 모듈을 페어링 시켜줍니다.
  • 그 다음, 블루투스 터미널 프로그램을 검색하여 설치합니다.
  • 설치한 터미널 프로그램과 아두이노 시리얼 모니터를 이용해 메시지 송수신이 잘 되는지 확인합니다.

시리얼 모니터 화면
모바일 블루투스 터미널 사용 예시
PC 블루투스 터미널 사용 예시

 


유니티 - 아두이노 블루투스 테스트

유니티 프로젝트에 블루투스 패키지 불러오기

  • Arduino Bluetooth Plugin
  • 이 패키지를 이용하면 여러 기기와 동시에 연결할 수 있습니다.
  • 안드로이드, 맥, iOS, UWP와 연결할 수 있습니다.
  • 비동기 통신을 할 수 있습니다.

예제 Scene 준비하기

패키지를 불러온 다음 Plugins 폴더를 밖으로 옮겨줍니다.
main 씬을 열어 줍니다.

프로젝트 세팅에서 Api Copmpatibility Level 변경

.NET 4.x 프레임워크를 사용하기 위해 설정을 변경해주세요.

해당 설정은 Player 탭에 있습니다.

스크립트 편집

main 씬에서 사용되는 스크립트 manager.cs를 찾아서 

deviceName을 블루투스 모듈의 이름으로 바꿔주세요.

모듈 이름은 일반적으로 HC-06 또는 HC-05입니다.

제가 쓰는 모듈은 이름을 변경해두었기 때문에 "OK"로 바꾸었습니다.

BluetoothAPI \ manager.cs

플레이 모드로 들어가서 통신 시작

연결하기 전 플레이 모드 화면
Connect 버튼을 눌러서 연결한 모습

유니티와 아두이노 간 메시지 송수신 테스트

Send Text 버튼을 누르면

유니티가 보낸 메시지를 시리얼 모니터에서 볼 수 있습니다.

Send Text의 결과를 확인
아두이노에서 보낸 메시지 "asdf"

 

 

반응형

댓글