아두이노 hc-05 at 무응답 - adu-ino hc-05 at mueungdab

1. 준비물 : 메이킹보드 2개, 브레드보드 2개, 저항(330 옴), 와이어, HC05(블루투스) 2개, LED, 가변저항

아두이노 hc-05 at 무응답 - adu-ino hc-05 at mueungdab

2.  HC05 심화 예제 소개

 이번 심화예제는 두 팀에서 협동으로 만들 수 있는 예제를 만들어 보겠습니다. 송신부 (보내는 쪽)에서 가변저항을 이용하여 값을 읽어와 수신부(받는 쪽)의 led의 밝기를 조절 할 수 있는 환경을 만들겠습니다.

 다시 한 번 정리해서 말씀 드리자면 한 팀에서는 Master 부분을 설계하시고, 다른 한 팀에서는 Slave 부분을 설계하면 됩니다. 

 Hc05 기본과정과 마찬가지로 기존의 HC06모듈과 설정을 하는 것은 비슷하지만, 설정전에 설정모드로 진입하는 방법이 조금 다릅니다. 이 부분은 블루투스 기본설정 영상과 HC05 기본편을 잘 봐주세요.

3. 회로 구성도

A.    Master

B.    Slave

4. 블루투스 기본 설정

A. 기본 설정 (Master와 Slave 모두 해야함.)

- 우선 HC05의 설정이 필요합니다. 위의 회로를 구성한 후,

위의 스케치 파일을 두대의 아두이노에 업로드 합니다.

기본 AT명령 진입(2초마다 Led On/Off)

업로드가 완료가 된다면 위 영상과 같이 아두이노 5V출력포트에 연결된 선을 뽑았다가 껴주세요. (HC05에서의 WakeUp(Enable) 신호가 HIGH로 들어간 상태에서 VCC에 전원을 공급하는 것이 블루투스 설정모드 진입방법입니다.) 이렇게 설정모드 진입에 성공한다면 빠르게 깜빡이던 불빛이 2초정도에 한번씩 느리게 꺼졌다가 켜졌다를 반복합니다

위와 같이 설정모드로 진입이 되었다면, 아래단계를 진행해주세요.

5. Slave 모듈 설정 (Slave모듈을 맡기로 한 팀에서만 진행하면 됩니다.)

i.    AT+PSWD=1234;

1. 비밀번호를 설정합니다.

ii.    AT+NAME=myBtModule05

1. 블루투스의 이름을 알아보기 편하게 바꿉니다. (여러대가 동시에 실습할 경우에는 숫자를 바꾸어 정확하게 이름을     인지 할 수 있게해야합니다.)

 iii.    AT+ROLE=0

1. 블루투스의 모드를 slave 모드로 변환합니다.

iv.    Slave 스케치

6. Master 모듈 설정 (i~ vii 단계까지 모두 하셔야합니다.) -> Master 모듈을 맡기로한 팀에서만 진행하시면 됩니다.

i.    AT+RMMAD

1. 위의 명령어는 기존에 연결된 블루투스 연결 정보를 지우는 명령입니다. 혹시 기존에 연결된 다른 블루투스와의 연결이 되는 것을 방지하기 위해 실행합니다.

ii.    AT+PSWD=1234

1. Master 모드에서의 비밀번호는 Slave에 연결 요청을 보낼 때 Slave의 비밀번호를 입력하는 것과 같습니다. 이 때문에 Slave 쪽과 비밀번호를 맞추어야 합니다. ( HC05예제에서 스마트폰에서 블루투스를 연결할때 비밀 번호를 입력을 해야 하는 것처럼 Master모드의 비밀번호설정은 Slave와 연결시에 Slave에게 비밀번호를 입력하는 것과 같습니다.)

 ex> Slave 쪽의 비밀번호가 "1111" 이라면, Master 쪽의 비밀번호설정도 반드시 "1111" 이어야합니다.

iii.    AT+ROLE=1

1. 기본적으로 설정되어 있는 모드는 SLAVE 모드인 0번 역할모드입니다. 이를 MASTER 모드인 1번 역할 모드로 변경할 필요가 있습니다. 위와 같은 명령어를 통해 마스터모드로 변환합니다.

iv.    AT+INIT

1. 설정이 완료가 되었다면, 블루투스를 초기화를 해야합니다. (준비 완료되었다는 신호와 의미가 같습니다.)

2. Error:(17)가 발생한다면 아래에 단계로 넘어가세요. (이미 Init 단계가 실행 되어서 Error을 발생하는 경우가 있습니다.

v.    AT+INQ

1. INQ명령어는 자신의 주변에 있는 블루투스들의 고유주소(고유 ID)들을 갖고 옵니다. (이 때, 우리가 설정했던 블루투스의 이름이 표시되는게 아니라, 컴퓨터가 알 수 있는 고유한 주소를 알려줍니다.) 하지만 이 고유한 주소(고유 ID)는 사람이 알 수 있는 주소가 아니기 때문에 vi 단계의 명령어를 보내어 블루투스 모듈의 설정ID를 가져와 확인해야합니다.

2. 주의 사항 : INQ 명령을 실행하기 전에 아래에 있는 Slave 설정이 모두 완료가 되어 있는 상태에서 진행해야 합니다.

vi.    AT+RNAME?(ADDRESS)

1. INQ명령어에서 돌려 받은 고유주소를 보내어 블루투스의 이름을 알려줍니다. (기존에 Slave에서 설정했던 모듈의 이름)

2. (ADDRESS)이 부분에서는 INQ명령어를 통해 받아온 고유 주소를 입력하는 것입니다. 예를들어 INQ 명령 응답이 “+INQ:2015:12:14497,1F00,7FFF”가 돌아온다면 “AT+RNAME?2015,12,14497 “ 이렇게 보내면 됩니다. ( ‘:’ 대신 ‘,’로 바꿔주어 보내면 됩니다.)

3. RNAME 명령어를 통해 연결하고 싶은 기기의 이름을 알았다면, 해당 블루투스의 고유주소를 필기 메모(메모장이나 공책에 필기)해주세요. 모든 설정이 끝난 후 연결할 때 주소가 필요합니다. (여기서 주의해야 할 부분은 블루투스의 이름이 아닌 블루투스의 고유 주소를 메모해야 한다는 것 입니다.)

vii.    Master 스케치

 - 이곳에서 가장 중요한 부분은 아래에 있는 스케치의 “AT+LINK=2015,12,14497\r\n” 부분을 아까 메모해 두었던 자신이 연결하고 싶은 블루투스의 고유주소로 바꾸어야 한다는 점입니다. (6. Master 기본 설정 > v. AT+INQ 참조)

7. 시연영상

원격으로 LED 밝기 제어