Loading
2016. 2. 19. 08:30 - 영엑스에프에프

블루투스모듈(HC05)를 사용하여 스마트폰으로 rgb led 조절하기

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


2. HC05 소개

 





 우선 HC05를 소개하기 전에 블루투스의 Master-Slave 구조에 대해 알아보겠습니다. 모든 블루투스를 연결하기 위해서는 기본적으로 Master Slave 관계를 맺어야 합니다. 말 그대로 주인과 노예의 관계로써 주인 역할을 할 수 있는 자만이 노예에게 명령을 내릴 수 있습니다. 앞서서 배운 HC06 모듈의 경우 오로지 Slave 모드(노예 모드)만을 지원합니다. 이 때문에 HC06 모듈 2개로 서로의 통신은 불가능 했습니다. 





 앞서 HC06 예제에서 스마트폰과의 연결이 된 이유는 스마트폰이 Master(주인) 모드로 동작하고 HC06이 Slave 모드로 동작하여 주종관계가 성립하였기 때문입니다.

 이 때문에 HC06으로는 주종관계가 성립하지 않아 아두이노와 아두이노간의 통신을 할 수 없었습니다. 이 때문에 아두이노간의 통신을 위해서는 HC05라는 블루투스 모듈이 필요합니다.

 HC05의 경우 사용자가 Master 모드와 Slave 모드로 임의로 설정이 가능하기 때문에 주종관계를 맺을 수 있게 합니다. 때문에 이를 사용하면 두대의 아두이노통신도 가능하게 됩니다. 

 이번 예제에서는 HC05를 기존의 HC06과 마찬가지로 Slave 모드로 작동 시키는 법을 구현해보고, HC05 응용편에서 Master 모드와 Slave모드를 사용하여 아두이노 두대간의 블루투스 연결을 구현해보겠습니다.

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


3. HC05 모드에 WakeUp(Enable) 신호 인가하기
  

 우선적으로 HC05에는 6개의 핀이 있습니다. 다른 핀의 경우 HC05와 동일하지만 여기서 가장 중요한 핀은 WakeUp(Enable) 핀입니다. 말 그래도 "일어나게 한다"라는 핀입니다. 앞서 설명드린 것처럼 HC05모듈의 경우 Master 모드와 Slave모드 둘다 설정이 가능합니다. 하지만 모드를 변경하기 위해서는 설정모드로 진입을 해야합니다. 이 때 설정진입을 하기위해 신호를 주는 핀입니다. WakeUp 핀에 HIGH(3.3V)신호를 준 이후 전원을 인가한다면, 자동으로 설정모드로 진입하게 됩니다. (핀의 순서가 헷갈리신다면, 모듈 뒷면에 핀의 이름이 나와있으니 참고하시면 됩니다.)





             


                           <정면 사진>                                                           <핀을 꽂은 사진>



 우선 구입한 HC05모듈의 WakeUp 핀에 구멍이 뚫려 있습니다. 이 구멍에 와이어를 사진과 같이 연결시켜주어야합니다. 고정이 안되고 약간 덜렁거리지만 큰 상관이 없습니다. 단, 와이어의 선이 다른 부품과 닿지 않도록 조심하셔야합니다. 완벽한 고정을 원하신다면, 납땜을 하시면 됩니다.

4. 회로 구성






5. 블루투스 기본 설정


우선 HC05을 사용하기 위해서는 기본 설정이 필요합니다. 위의 회로를 구성한 후, 아래의 스케치파일을 아두이노에 업로드 합니다.





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


(기본 AT명령 진입 영상)





기본적으로 블루투스 설정은 AT명령어로 동작합니다. 

AT+NAME=xxxx   (이름을 xxxx로 바꾼다.)
Ex> AT+NAME=myBt01   블루투스의 이름을 myBt01로 바뀌어집니다.
 (이름을 설정하는 것은 나중에 스마트폰과 연동시 찾기 편리함을 위함입니다.)

AT+NAMEmyBt01 (여러명이서 실습시 구분을 위해 뒤에 숫자를 바꾸어주세요.)




명령어를 하나씩 쓰고 전송버튼을 누르면 이름변경의 경우 성공시 OK라는 답이 돌아오고, 실패시 ERROR(0)이라는 문자가 날아옵니다.



이러면 블루투스 기본 설정이 끝났습니다.

이후 아두이노 스케치에  다음과 같은 소스를 첨부하고 다시 업로드 합니다.
다음 스케치는 스마트폰에서 블루투스를 통해 아두이노로 전달된 값을 읽어 RGB led의 색깔을 선택하며 조절하는 기능이 담긴 소스입니다.




이제 아두이노 부분은 끝났습니다.


이제 스마트폰을 꺼내 구글 플레이스토어에 “블루투스 메이커”를 다운로드 받아주시기 바랍니다.




다운 받은 후 설치가 완료되었다면 스마트폰의 설정모드를 들어가 블루투스 모드를 키고 아까 입력했던 'myBt01' 이라는 이름을 갖는 제품을 찾아 설정했던 비밀번호 '1234' 를 입력 후 연결시켜 줍니다.



이후 어플을 실행 시키고 방향키모드를 들어간 후 블루투스 연결버튼을 눌러줍니다.

아까 HC05의 이름을 설정한 'myBt01'을 찾아 연결 시켜준 후 A,B,C키를 눌러 빨강색, 녹색, 파랑색의 빛을 껐다 켰다를 반복한다면 끝이납니다.


6. 시연 영상

En Pin에 HIGH 신호가 들어간 상태에서 블루투스에 연결된 전원을 다시 꽂으면 AT 모드로 진입





A버튼은 Red 를 키고 끄고, B버튼은 Green을 키고 끄고,  C버튼은 Blue를 키고 끔으로써 빛의 색 조합가능