[아두이노] HC-06 블루투스 모듈 사용해보기


                                        
안녕하세요. 디바이스마트 대짜이찐입니다.
오늘은 아두이노와 근거리 무선통신 중 하나인
블루투스 모듈 HC-06을 사용해서
간단한 예제를 프로그래밍 해보겠습니다.



HC-06



블루투스(Bluetooth)란 근거리 무선 통신 기술 중 하나로 

근거리에서 기기간에 통신선 연결 없이 
무선으로 데이터를 교환하는 기술입니다.
우리들은 휴대폰이나 노트북에서 
일상적으로 접하는 기술이기도 하죠


블루투스 모듈중에 하나인 HC-06입니다.
블루투스 버전이 예전(현재 버전 5.0) 2.0버전이라,
통신 거리가 짧고 (약 10미터), 저전력이지만 통신 속도가 느립니다.
하지만 다루기 쉽고 가격이 싸서 아두이노에서 많이 쓰이는 모듈입니다.


아두이노와 HC-06 연결


준비물: 아두이노, 브레드보드, 블루투스모듈(HC-06), 점퍼선

아두이노와의 연결은 간단합니다.

아두이노
HC-06
비고
GND
GND
Ground
5V
Power
VCC
D10
Rx
mySerial Tx
D11
Tx
mySerial Rx

프로그래밍 코드


/*
HC-06 bluetooth
http://www.devicemart.co.kr/
*/


#include <SoftwareSerial.h> // 0,1번핀 제외하고 Serial 통신을 하기 위해 선언

// Serial 통신핀으로 D11번핀을 Rx로, D10번핀을 Tx로 선언
SoftwareSerial mySerial(11, 10); // HC-06 TX=11번핀 , RX=10번핀 연결

void setup()
{
Serial.begin(9600); // 통신 속도 9600bps로 PC와 시리얼 통신 시작
mySerial.begin(9600); // 통신 속도 9600bps로 블루투스 시리얼 통신 시작
}

void loop()
{
// mySerial 핀에 입력이 들어오면, 바이트단위로 읽어서 PC로 출력
if (mySerial.available()){
  Serial.write(mySerial.read());
}
 // Serial 핀에 입력이 들어오면, 바이트단위로 읽어서 블루투스로 출력
if (Serial.available()){
  mySerial.write(Serial.read());
}
}



휴대폰과 통신



휴대폰과 통신하기에 앞서

AT Command (AT 명령어)를 통해

블루투스를 세팅해야 합니다.



아래표는 대표적인 명령어 입니다.



Sent
Receive
참고
AT
OK
통신 테스트
AT+BAUD1
OK1200
통신속도 변경(1200)
AT+BAUD2
OK2400
통신속도 변경(2400)
AT+BAUD3
OK4800
통신속도 변경(4800)
AT+BAUD4
OK9600
통신속도 변경(9600기본)
AT+BAUD5
OK19200
통신속도 변경(19200)
AT+BAUD6
OK38400
통신속도 변경(38400)
AT+BAUD7
OK57600
통신속도 변경(57600)
AT+BAUD8
OK115200
통신속도 변경(115200)
AT+NAMEname
OKsetname
name은 원하는 이름 변경


이외에 다른 명령어도 있습니다.
아래링크 참조

여기서 중요한게 HC-06을 사용할 때는
아두이노 시리얼 모니터에서 아래 텍스트 입력 형태를
line ending 없음(No Line ending)으로 바꿔주셔야 합니다.

다른 블루투스 모듈에서는 Both NL&CR등을 사용할 수도 있습니다.


우선 AT 명령어는 제대로 들어간걸 확인했습니다.

이제 휴대폰으로 확인을 해봐야겠죠?

우선 제대로 NAME이 바뀌었는지, 휴대폰에서 연결 가능한지
휴대폰 블루투스 설정에 들어가셔서 검색을 해봅니다.



저는 블루투스 name을 devicemart로 변경했습니다.



그 다음 연결을 해봅니다!



아두이노와 데이터를 주고받기 위해서,
BT Chat이라는 어플을 깔아줍니다.

이 어플 말고 다른 어플 깔아줘도 되지만
블루투스 BLE라고 되어있는 어플의 경우 
기존 classic과 페어링이 다르기 때문에 피하셔야 합니다.



이후 어플에서 각자 세팅하신 블루투스를 찾으신 후,
통신을 주고 받으면 됩니다.



이제 배운 내용을 통해 블루투스로 특정 데이터를
입력받으면, LED를 켜는 동작등의 소스를 만들 수 있겠죠?

감사합니다.




댓글 쓰기

0 댓글