본문 바로가기
Embedded System/ATmega128

HC06 (Bluetooth Module) Mobile 연동하기

by xangmin 2020. 3. 27.
반응형

 

< HC06 Bluetooth module >

 

- 전원 공급 장치 : 3.3V ~ 5V

- 블루투스 사양 V4.0 BLE

- 2.4GHz ISM 대역 주파수

- 전송 속도 : 6K 바이트 / 초 (비동기식 및 동기식)

- 지원되는 전송 속도 : 1200, 2400, 4800, 9600 (기본값), 19200, 38400, 57600, 115200, 230400

- RF 전력 : -23dbm, -6dbm, 0dbm, 6dbm (AT 명령을 통해 수정 AT + POWE)

- 지원 서비스 : 중앙 및 주변 장치 UUID FFE0, FFE1

- 최대 50mA 필요

- 활성 상태일 때 약 9mA 사용

- 습립모드 일때 50-200uA를 사용

- 기본 핀 코드 : 000000

- 기본 이름 : HMSoft

 

· HC-06 Bluetooth Module의 장점

 - 근거리 무선 통신이 필요한 경우 가장 적합한 옵션이다. 이 모듈은 100 미터 미만의 무선 통신에 사용된다.

 - 매우 쉽게 인터페이스하고 통신할 수 있다.

 - 시장에 나와 있는 모든 유형의 무선 통신을 위한 가장 저렴한 솔루션 중 하나이다.

 - 작동하는 데 필요한 전력을 매우 적게 소모하며 배터리로 작동하는 모바일 시스템에서 사용할 수 있다.

 - UART 인터페이스를 사용하므로 거의 모든 컨트롤러 또는 프로세서와 인터페이스 할 수 있다.

 

· HC-06 Bluetooth Module Pin 구성

 HC-06 Module에는 핀 배열에 표시된 것과 같이 6개의 핀이 있다. 그것들에서 우리는 모듈을 성공적으로 인터페이스 하기 위해서 4개를 사용할 필요가 있다. 일부 브레이크 아웃 보드는 이러한 이유로 4개의 출력 핀만 남겨 둔다.

이 름

기 능

1

KEY

핀 상태는 모듈이 AT 명령 모드 또는 일반 모드에서 작동하는지 결정합니다.

 · HIGH = AT 명령 수신 모드 (명령 응답 모드)

 · LOW 또는 NC = Bluetooth 모듈 정상 작동

2

Vcc

+5V 모듈에 전원을 공급하려면이 핀에 양의 전원을 공급해야합니다.

3

GND

접지에 연결

4

TXD

직렬 데이터는이 핀 (기본적으로 9600bps), 3.3V 로직

5

RXD

직렬 데이터는 이 핀 (기본적으로 9600bps), 3.3V 로직

6

STATE

핀은 보드의 LED에 연결되어 모듈의 상태를 나타냅니다

 

· HC-06 Bluetooth 모듈 사용 방법

 

< MCU(Atmega128)과 연결 >

 

 HC-06 모듈과의 통신은 UART 인터페이스를 통해 이루어진다. 데이터는 모듈로 전송되거나 이 인터페이스를 통해 모듈에서 수신된다. 그래서 우리는 모듈을 모든 마이크로 컨트롤러에 연결하거나 RS232 포트 (UART 인터페이스)가 있는 PC에 직접 연결할 수 있다.

 

· AT command 설정

설정

명령

반환값

기본값

설명

통신 테스트

AT

OK

·

통신이 확인되고 있는지 확인

이름 변경

AT+NAMEname

OKsetname

HMSoft

장치의 이름을 name으로 변경

속도 변경

AT+BAUDn

OK보레이트

(: OK1200)

9600

n에 해당하는 속도로 보드의 속도 변경

PIN 설정

AT+PINxxxx

OKsetpin

000000

페어링 비밀번호를 xxxx로 변경

 PC와 HC-06를 연결하기 위해 3.3V TTL신호를 USB 포트에 연결할 수 있도록 해주는 FT232RL 컨버터를 사용했다. AT command 모드로 진입하기 위해 KEY 핀에 +5V를 인가했고, 블루투스 모듈의 LED가 깜빡이는 속도가 줄어들게 되면서 AT 모드로 진입하는 것을 확인했다. 터미널 프로그램은 SerialPortMon을 사용했다.

 

 

< PC-HC06 연결 (터미널) >
<ATcommand 설정 창>

 

 ‘AT’ 명령어를 송신했을 때 모듈에서 ‘OK’ 명령어를 전달하는 것을 확인할 수 있다. 블루투스의 이름을 ‘HC-06’으로 변경하고, 비밀번호를 ‘0000’, 통신 속도를 ‘115200’으로 변경한 모습이다.

 

 

<Mobile에서 Bluetooth Module 확인>

 

 


HC06 Bluetooth Module Program (Mobile version)

/*
 *  Bluetooth.c
 *  Author: Kimsangmin
 */ 
#define F_CPU 8000000UL

#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>

volatile unsigned char flag;

ISR(USART0_RX_vect){
	flag=UDR0;
}

void init()
{
	DDRG=0xFF;
	UCSR0A=0x00;
	UCSR0B=0x98;
	UCSR0C=0x06;	
	UBRR0H=0;
	UBRR0L=51; // 16MHz = 103
	SREG=0x80;
}

int main(void){
	init();
	
	while(1){
		if(flag=='A')
			PORTG=0xFF;
		if(flag=='B')
			PORTG=0x00;
	}
}
반응형

'Embedded System > ATmega128' 카테고리의 다른 글

Balancing Robot  (0) 2020.04.04
C-LCD 8-bit Control and 4-bit Control  (4) 2020.04.04
NEO-7M (GPS module)  (1) 2020.03.28
HC06 Bluetooth Module (Master / Slave 연동하기)  (0) 2020.03.28
HC-SR04 Module (초음파 센서 모듈)  (3) 2020.03.27

댓글