아두이노/이론

아두이노 블루투스모듈 설정하기(HC-06)

원원 2017. 5. 25. 00:02


안녕하세요. 이번에는 블루투스모듈 HC-06의 정보를 설정할 것입니다.

핀번호나 모듈에대한정보는 여기를 클릭하시면 볼 수 있습니다.

블루투스 이름, 블루투스 비밀번호,보레이트 속도를 변경해보겠습니다.

이러한것들을 변경하려면 AT명령어 라는것을 사용해야하는데 그럴라면 SoftwareSerial라이브러리를 사용해야합니다

SoftwareSerial라이브러리란 0,1번핀 외에도 다른 디지털 핀에서도 직렬 통신을 허락하도록 개발된 라이브러리입니다.




*알고리즘




*소스코드

#include <SoftwareSerial.h>


#define BT_TX 2

#define BT_RX 3


SoftwareSerial BT(BT_TX, BT_RX);


void setup(){

  Serial.begin(9600);

  BT.begin(9600);

}


void loop(){

  if (BT.available()){

    Serial.write(BT.read());

  }

  

  if(Serial.available()){

    BT.write(Serial.read());

  }

}


1단계 : 코드에서 빨강부분입니다. BT라는 SoftwareSerial형 변수를 만들고 매개변수로 블루투스의 RX,TX핀을 보내면 됩니다.

2단계 : 코드에서 노랑부분입니다. Serial버퍼에 값이있으면 (시리얼모니터에서 명령어 입력) 블루투스에게 그 값을 보냅니다.

3단계 : 코드에서 주황부분입니다. BT버퍼에 값이있으면 시리얼모니터에 리턴값을 출력해줍니다.


*AT명령어

1. AT - 테스트하는 명령어입니다. 리턴값으로 'OK'가 옵니다.


2. AT+BAUDx - 보레이트를 설정해주는 명령어입니다.

x의 값에따라 속도를 정합니다.

1 - 1200

2 - 2400

3 - 4800

4 - 9600(default)

5 - 38400

6 - 57600

8 - 115200

9 - 230400

A - 460800

B - 921600

C - 1382400

리턴값으로 'OK값' 이 옵니다


AT+BAUD4를 입력했을때 모습입니다. 앞에 OK가 있는이유는 1번에서 했던 OK가 남아있는겁니다.


3.AT+NAMEx - 블루투스 명을 설정합니다. 기본 HC-06블루투스 이름은 HC-06으로 잡힐 것입니다.

AT+NAMEwowon 이라고 보낸다면 블루투스의 이름은 wowon이라고 변경됩니다.

리턴값으로는 'OK값' 이 옵니다.


4.AT+PINx - 페어링할때 패스워드를 정하는 것입니다. 비밀번호는 4자리여야합니다.

AT+PIN0725를 보낸다면 비밀번호는 0725입니다.

리턴 값으로는 'OKsetpin'이 옵니다.




그 외에도 AT명령어가 몇개 더 있는데 일반적으로 잘 사용을 안합니다. AT명령어가 더 궁금하다면 데이터시트를 보면 되겟죠?