RS's Travel & Electronic

HC-06 : 연결안됨과 AT명령어일람 본문

시퀀스와 아두이노

HC-06 : 연결안됨과 AT명령어일람

RS 2021. 7. 17. 21:59
SMALL

시제품 제작일을 하면서 가장 많이 사용한 모듈이 블루투스 모듈 HC-06입니다.

 

 

이번 포스팅부터 HC-06을 제가 사용하면서 알게 된 몇몇 노하우들을 게시하고자 합니다.

제원이나 연결법등의 이야기는 생략하겠습니다.

그런 내용은 다른 분들 블로그에 많이 있거든요.

 

생략한다고는 했지만 그래도 일단 짚어야 될게 두 가지 있는데, 

이번 포스팅에서 이야기하고자 합니다.

 

먼저 아두이노에 연결해서 AT 테스트를 해도 반응이 없을 때입니다.

 

보통 이걸 사용할 때 SoftwareSerial 객체를 만들어서 사용하실 텐데,

객체 생성자 SoftwareSerial (TX , RX) 인자를 전달할 때

첫 번째 인자 TX는 HC-06의 TX핀과 연결된 아두이노의 핀 번호입니다.

두 번째 인자 RX는 HC-06의 RX핀과 연결된 아두이노의 핀 번호입니다.

 

시리얼 통신은 TX-RX, RX-TX로 연결해야 된다라는 상식은 그냥 잊고, 위에서 말한 대로만 연결했다면 일단 선 연결이 잘못돼서 안 되는 건 절대 아닙니다.

거꾸로 되어 있으면 생성자 인자를 거꾸로 바꾸세요. 핀을 바꾸는 것보다 간단하죠.

 

메가같이 시리얼 포트가 여러 개 준비돼 있는 보드를 쓰실 땐 핀을 잘못 연결할 일은 없겠죠?

 

두 번째로 시리얼 창을 확인하셔야 됩니다.

보통은 9600 보드 레이트는 건드리지 않으셨을 테고요.. 그 옆에다 문제인데,

HC-06의 펌웨어 버전이 2.0 이하라면 line ending 없음으로 해야 시리얼 창에 응답이 뜹니다.

HC-06의 펌웨어 버전이 3.0이라면 Both NL & CR로 해야 시리얼 창에 응답이 뜹니다.

버전을 알 수 없는 경우는 일단 선 연결이 제대로 됐는지 체크하고 

시리얼 창의 조건을 두 가지 다 시험해 보세요.

둘 중의 하나는 반응이 올 겁니다.

 

둘 다 해봤는데 안된다고요?

일단 전원 제거하고 아두이노 IDE를 끈 다음에, IDE를 다시 실행하고 아두이노에 전원을 넣고 시리얼 창을 띄워서 다시 확인해보세요.

그래도 안된다면 불량일 확률이 높습니다.

과감히 쓰레기통에 집어던지세요. 여러분의 시간은 돈 4~6천원보다 소중합니다.

 

 

 

다음은 AT명령어입니다.

펌웨어 2.0 이전과 3.0에서의 AT명령어는 다른 부분이 있습니다.

 

펌웨어 2.0이전 펌웨어 3.0
AT : 응답 체크
Send : AT
Receive : OK
 
AT+BUAD : 보드레이팅을 바꿉니다.
Send : AT+BUAD4
Receive : OK9600
 
11200
22400
34800
49600
519200
638400
757600
8115200
 
AT+VERSION : 버전을 체크합니다.
Send : AT+VERSION
Receive : OKlinvorV1.8
 
AT+NAME : 블루투스 이름을 바꿉니다.
Send : AT+NAMEhc06
Receive : OKsetname
 
AT+PIN : Pin번호를 바꿉니다.
Send : AT+PIN1234
Receive : OKsetPIN
 
AT+ROLE : 모드를 바꿉니다.
Send : AT+ROLE=S (or AT+ROLE=M)
Receive : OK+ROLE:S (or OK+ROLE:M)


AT : 응답 체크
Send : AT
Receive : OK
 
AT+UART : 보드레이팅을 바꿉니다.
Send : AT+BUAD=9600,0,0
Receive : OK
 
9600 can be replaced by
9600
1200
2400
4800
9600
19200
38400
57600
115200
 
AT+NAME : 블루투스 이름을 바꿉니다.
Send : AT+NAME:hc06
Receive : OK
 
AT+PSWD : Pin번호를 바꿉니다.
Send : AT+PSWD:“1111”
Receive : OK
 
AT+ORGL : 공장초기화를 실행합니다.
   생산되어서 출하됬을때 당시의 상태로 되돌리는겁니다.
Send : AT+ORGL
Receive : OK
 
AT+ROLE : 모드를 바꿉니다.
Send : AT+ROLE=0 (or AT+ROLE=1)
Receive : Unknown
0(Slave), 1(Master)


 

LIST
Comments