아두이노 우노와 안드로이드 BT통신 테스트 

(FB155BC BT모듈을 이용) 


우선 블루투스 통신 테스트에 앞서 블루투스 통신 원리를 간단하게 공부해 봅시다.

블루투스 동작 원리는 위에 그림과 같이 크게 Master Side와 Slave Side로 나뉘는데

Master Side는 검색 요청 및 연결 요청을 보내고, 

Slave는 검색 요청 대기 및 연결 요청 대기를 하게 됩니다.

블루투스 통신 거리범위에 포함되면 Slave에서 Master에게 자신의 정보를 송신하고

Master에서 수신된 정보가 일치하면 Connection이 이루어 지게 됩니다.


자, 이제 연결에 앞 서

우선 준비물로는 아두이노 Uno보드, 브레드보드, 케이블, LED전구, 220옴저항, BT모듈(FB155BC)가 필요합니다.

다음과 그림과 같이 연결을 해주세요.


그리고 이때 블루투스 모듈을 브레드 보드에 끼울 때 

아래의 사진을 참고 하여 GND과 3.3V가 제대로 연결 되도록 합니다.

FB155BC모듈은 3.3V전압을 사용합니다.

블루투스 모듈의 3번핀은 상태를 나타내는 LED가 연결된 핀으로, LED의 on / off or 깜빡임을 통해

블루투스 연결 상태를 나타내 줍니다.


아두이노 Uno와 브레드보드에 연결을 완료 하였으면, 

노트북과 Uno보드를 시리얼로 연결하고

Arduino sdk를 실행시켜 아래의 소스를 컴파일 -> 업로드 합니다.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

#include<SoftwareSerial.h>

SoftwareSerial BTSerial(5, 6); //Connect HC-06 TX,RX


void setup() 

{

  Serial.begin(9600);

  Serial.println("Hello!");


  // set the data rate for the BT port

  BTSerial.begin(9600);

}


void loop()

{

  if (BTSerial.available())

    Serial.write(BTSerial.read());

  if (Serial.available())

    BTSerial.write(Serial.read());

}

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

이제 인터페이스 없이 노트북과 아두이노에 장착된 FB155BC모듈과의 통신이 가능합니다.

윈도우즈의 내장 통신 프로그램인 하이퍼터미널을 실행해서 

Name는 마음대로~ 적습니다.


OK를 누르면

아두이노 Uno 포트와 같은 포트번호로 Connect using을 설정해주고 OK!

다음 화면의 포트설정에서 그림과 같이 비트/초 = 9600, 흐름제어 = 없음을 선택하고 확인!

그러면 다음 화면으로

Serial.println("Hello!"); 라는 소스를 넣었기 때문에 

Hello!가 출력 됩니다.

그리고 처음에 하이퍼터미널을 실행하면 AT 명령어를 타이핑할때 화면에 아무런 표시가 나지 않는데

이부분은 다음과 같이 설정합니다.

1. 파일 메뉴에서 속성을 클릭 합니다. 설정 탭에서 ASCII 설정을 클릭 합니다.

2. 보낼 줄 끝에 줄 피드 및 입력 된 문자가 로컬 에코 확인란을 선택 합니다를 클릭 합니다.

3. 확인을 클릭 하 고 확인을 클릭 합니다. 이제 AT 명령어가 화면에 표시됩니다.


AT -> 입력 해서 OK가 출력 되면 정상 !

그리고 여기서 중요한 것이 FB155BC모듈은 초기 설정 상태가 Slave이기 때문에

설정을 바꿔 줄 필요가 없으며, 블루투스 대기 상태를 만들기 위해

AT+BTMODE,3 이라는 명령어 또는 AT+BTSCAN을 입력 해줍니다.

AT+BTMODE,3은 항시 블루투스 연결 대기 설정 명령어 입니다.

저는 AT+BTSCAN 이라는 명령어를 입력하고 OK 가 되었습니다. 

OK 라는 응답이 돌아오면 아두이노  브레드보드의 LED가 깜빡이게 됩니다.

이는 위에서 말한 블루투스 모듈의 3번핀의 STATUS가 블루투스 통신 연결 대기 라는 의미입니다.



이제 핸드폰과 연결을 하기 위해 

안드로이드 마켓에서 BlueTerm 이라는 블루투스 앱을 다운로드 합니다.


그다음 실행하고


핸드폰의 메뉴 버튼을 누르고, device 검색을 누르면

FB155v2.2.1 이라는 이름의 모듈이 검색됩니다.

아래 그림과 같이

문자 또는 기호가 포함된 PIN을 꼭 체크 하시고

디바이스 초기 핀번호인 BTWIN을 입력하면

커넥션이 정상적으로 됩니다.




ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


<연결된 안드로이드폰 화면>

<하이퍼 터미널 화면>


하이퍼 터미널 화면에 

CONNECT 1CAF058D41E6은 안드로이드와 연결이 된 것이고


안드로이드에서 

hi my name is jintae 라는 텍스트를 적고 전송을 눌렀더니,

정상적으로 하이퍼터미널창에 표시된 것을 확인 할 수 있습니다.


참고로 하이퍼터미널에 많은 AT명령어를 계속 보내면

OK가 아닌 ERROR이 뜰 수 있으니 조금씩의 텀을 간격으로 명령어를 보내주세요!


이상 안드로이드와 아두이노 블루투스 모듈의 통신 테스트 였습니다.!!


블로그 이미지

GoBig

예비 개발자 GoBig의 블로그 입니다.

,