[Unity] 안드로이드와 아두이노 블루투스 연결
[진행과정]
1. 아두이노에 HC-06블루투스 모듈 설치
2. 아두이노 세팅 및 코딩
3. 유니티프로젝트 생성 및 세팅 (
4. 안드로이드 빌드 및 블루투스 연결
요렇게 진행합니다.
1. 아두이노에 HC-06모듈 및 마그네틱 센서 설치
HC-06 : 디지털인풋 2/3번/GND/5V 에 연결.
마그네틱 센서 : 디지털인풋 8번/GND에 연결.
[아두이노 - 블루투스 연동]
안녕하세요!! 이번 포스팅은 아두이노에서 블루투스 연동을 통해 앱과 통신하는 방법을 알아보겠습니다. * ...
blog.naver.com
[Unity]04.아두이노 사용하기 - Blutooth로 채팅하기
안녕하세요 유랑입니다. 오늘은 아두이노와 유니티 통신하는 방법에 대해서 알아보겠습니다. 통신방법은 블루투스를 사용하겠습니다^^ 1. 아두이노와 유니티로 채팅하기 유니티에서 Android 프로젝트에서 디바이스..
you-rang.tistory.com
2. 아두이노 세팅 및 코딩
먼저 아두이노사이트에 가서 아두이노를 설치해 줍니다.
아두이노와 PC를 USB로 연결 한 후 아래 그림처럼 순서대로 보드와 포트를 자신에 맞는 것으로 선택해 줍니다.
블루투스 모듈을 슬레이브로변경하기 위해,시리얼 모니터창을 열어 아래 명령어를 입력해줍니다.
AT+ROLE=S
HC-06 블루투스모듈 설정 변경하기! (마스터에서 슬레이브, 슬레이브에서 마스터로, HC-06자가진단하기!)
안녕하세요 메카솔루션입니다. 이번에는 HC-06의 마스터와 슬레이브를 수정하는방법과, 그리고 간단하게 ...
blog.naver.com
시리얼 모니터창에서 “AT”라고입력하여 OK가 반환되면,블루투스 모듈 연결이 잘 된 것입니다.
이후,AT+NAME이름을 입력하면 블루투스 모듈 이름을 설정할 수 있습니다.(AT+NAME000입력 시,000으로이름 설정)
그리고 AT+PIN핀번호 4자리를 입력하면 블루투스 연결 시 비밀번호를 설정할 수 있습니다.
마지막으로 AT+BAUD4 을 입력하여 OK9600이 반환되는 것을 확인합니다.(통신 속도 설정)
[아두이노 - 블루투스 연동]
안녕하세요!! 이번 포스팅은 아두이노에서 블루투스 연동을 통해 앱과 통신하는 방법을 알아보겠습니다. * ...
blog.naver.com
모두 설정되었다면 아두이노에 코딩작업을 해줍니다.
#include<SoftwareSerial.h> SoftwareSerial BTSerial (3, 2); //Connect HC-06. Use your (TX, RX) settings int val; int tempVal; void setup () { Serial.begin (9600); BTSerial.begin (9600); // set the data rate for the BT port pinMode (8, INPUT_PULLUP); } void loop () { //switch value update val = digitalRead (8); // BT –> Data –> Serial if (BTSerial.available ()) { Serial.println ("BT available"); Serial.write (BTSerial.read ()); } if (val == HIGH) { if (val != tempVal) { tempVal = val; BTSerial.println ("off"); // Do Something } } else { if (val != tempVal) { tempVal = val; BTSerial.println ("on"); // Do Something } } delay (100); }
코드를 대략 요약하자면 마그네틱센서가 붙으면 "on", 떨어지면 "off"라는 스티링을 블루투스 시리얼로 보내는 동작을 합니다.
찾아본 바로는 BTSerial.write("on"); 요렇게 하라고 되어있었는데 전혀 아무런 신호가 보내지지 않아서 저렇게 바꿔보니 잘되더군요.
코딩작업을 마쳤으면 두번째 아이콘을 눌러 아두이노에 업로드를 합니다.
3. 유니티프로젝트 생성 및 세팅
적당한 이름으로 새로운 프로젝트를 만들고 아래 파일을 다운받아 임포트 시켜줍니다.
Build Settings / Player Settings… 를 열어 Other Settings를 다음과 같이 설정합니다.
Bundle Identifier 는 똑같지 않아도 상관없으며, ApiCompatibility Level* 이부분이 .Net4.x 로 선택해주어야 합니다.
안드로이드로 타겟플랫폼을 변경해주고
새로운 Scene을 만들고 Project탭의Assets/ArduinoBluetooth/Demo/Prefab폴더로 이동하여
__Manager파일을 Hierarchy에 끌어 넣습니다.
숫자 "0"번 키로 아래 GUI를 끄고 켤수 있습니다.
__Manager를 클릭해보면 Manager.cs라는 스크립트파일이 붙어있습니다.
Manager.cs를 열어서 deviceName 을 위에 아두이노 설정시 변경했던 블루투스 이름과 동일하게 수정해줍니다.
예)AT+NAMEHC-06
OnDoorOpen, OnDoorClose위 두가지 이벤트가 있고외부 클래스에서 다음과 같이 사용할 수 있습니다.
public Manager _manager; void Start(){ _manager.onDoorOpen.AddListener(OnDoorOpen); _manager.onDoorClose.AddListener(OnDoorClose); } void OnDoorOpen(){ //문이 열렸을 때 } void OnDoorOpen(){ //문이 닫혔을 때 } …
연결 테스트영상입니다.