1. HC-06 모듈 

 

 HC-06모듈은 블루투스 2.0기반의  통신을 위해 가장 흔하게 사용되었던 통신모듈이다. WIFI 등 더 빠른 통신 방법도 있고 블루투스 4.0 BLE를 사용하면 저전력으로 통신을 할 수 도 있지만, HC-06 모듈은 가장 흔한 만큼 가격도 싸고 범용성이 있다는 장점 때문에 특별한 이유가 없다면 프로젝트 구성시 기본적으로 많니 사용하는 모듈이다.

 

 

2. HC-06 사양 

 

  • 동작전압 : 3.6~6V
  • 소모전류 : 40mA
  • 통신방식 : Serial (UART)
  • 제어방식 : AT-Command
  • 블루투스 사양 : Bluetooth V2.0 Protocol Standard
  • 파워 레벨 : Class2(+6dBm) - 통신 거리 10m
  • RF 대역 : 2.4GHz ~ 2.48GHz, ISM Band
  • 수신감도 : -80dBm

3. HC-06 핀배열 

 

 4개 또는 6개의 입출력핀이 배열되어 있는데 통상 VCC,GND,TXD,RXD 4개의 핀만을 주로 사용한다.

 

  -KEY(or EN) : HC-06 모드 선택핀
     . High : AT Command mode
     . LOW or NC : Normal mode
  -RXD : 3.3V 레벨 시리얼 수신 (Default 9600bps)
  -TXD : 3.3V 레벨 시리얼 송신 (Default 9600bps)
  -GND : 그라운드 연결
  -VCC : +3.3 ~ 6V 전원 연결
  -Status : 보드 상태 출력핀으로, 보통 상태 LED와 연결되어 있음

 

4. AT 모드명령어  

모듈의 이름을 지정하거나 통신속도 지정 등 블루투스 모듈에 관한 기본 정보의  세팅은 AT 모드에 진입해서 전용 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은 원하는 이름 변경

 

5. 샘플프로그램   

 

#include <SoftwareSerial.h>

SoftwareSerial hc06(2,3);

void setup(){
  //Initialize Serial Monitor
  Serial.begin(9600);
  Serial.println("ENTER AT Commands:");
  //Initialize Bluetooth Serial Port
  hc06.begin(9600);
}

void loop(){
  //Write data from HC06 to Serial Monitor
  if (hc06.available()){
    Serial.write(hc06.read());
  }
  
  //Write from Serial Monitor to HC06
  if (Serial.available()){
    hc06.write(Serial.read());
  }  
}

 

HC-06 모듈간은 블루투스 통신을 하지만 HC-06에 연결되어 있는 아두이노와는 시리얼통신을 하게 된다. 아두이노의 자체 시리얼포트는 프로그램 업로드 등 다른 목적으로 사용되므로 HC-06모듈과는 별도의 softwareSerial 방식을 사용한다. 

+ Recent posts