아두이노/이론

아두이노 블루투스모듈 사용하기(HC-06)

원원 2017. 3. 14. 21:36

아두이노<->스마트폰을 블루투스 통신을 사용해서 LED를 제어해보겠습니다.


순서

1.준비물

2.HC-06사용법

3.실제 연결

4.코드

5.스마트폰 앱 다운

1.준비물

아두이노는 가장 흔한 UNO모델을 사용하고 블루투스모듈로는 가장흔한 HC-06을 사용하겠습니다.



2.HC-06사용법


핀번호에 맞게 아두이노에 연결해주면 됩니다.

주의할점이 TX는 RX에, RX는 TX에 연결해야 합니다.



3.실제 연결

HC-06을 연결해주고 LED를 연결해주면 됩니다

전 LED를 3번 디지털핀에 연결했습니다.


4.코드

블루투스를 통해 스마트폰으로부터 받은 값을 시리얼모니터에 출력하고
그 값에따라 LED를 키고 끄는것을 해보겠습니다.

HC-06코드 

void setup(){

  Serial.begin(9600);

  pinMode(2,OUTPUT);

}


void loop(){

  char data;

  

  if(Serial.available())

  {

    data= Serial.read();

    Serial.print(data);

    if(data=='a')

         digitalWrite(2,HIGH);

     else if(data=='b')

         digitalWrite(2,LOW);

  }

}

  if(Serial.available()) 

Serial버퍼에 값이 있으면 if문을 실행하는 것 입니다.

여기서 이 의미는 스마트폰으로부터 값을 받으면 if문이 실행되는 것입니다.


data= Serial.read();

Serial버퍼에 있는 값을 읽어서 data변수에 저장하라는 것입니다.


 if(data=='a')

만약 받은 데이터가 a라면 LED를 킵니다.


(주의할점 : 블루투스모듈을 UNO에 연결하고 업로드를 하면 안됩니다.
업로드 할때는 블루투스모듈과 UNO를 연결하지 말아주세요)

5.스마트폰 앱 다운

***아이폰은 HC-06과 사용하는 프로토콜이 달라서 안되고 안드로이드만 됩니다.


스마트폰으로 블루투스를 키면 아래와 같은 창이 뜹니다. 거기서 HC-06을 선택해서

디바이스를 확인해줍니다.







안드로이드에서 블루투스 어플을 만들어도되고 다운받아도 되는데
여기서 사용한 어플은 "bluetooth controller"입니다.
물론 다른 블루투스 어플을 사용해도 상관 없습니다.
이 어플의 특징은 자신이 보낼 값을 미리 저장해놓고 버튼형식으로 눌러서 값을 보낼수 있습니다.



어플을 다운받고 "키 설정"버튼을 누르면 아래와같은 화면이 뜹니다.

키 이름은 사용자가 알아보기 쉽게 버튼의 이름을 정하는 것이고

데이터 설정은 사용자가 그 키를 누르면 보낼 데이터를 입력하는 것입니다.

전 Led on을 누르면 a라는데이터를 보내고 Led off를 누르면 b라는 데이터를 보내게 했습니다.

왜냐하면 4.코드 부분에서 그렇게 하기로 약속했었습니다.





장치검색을 누르고 HC-06을 선택해서 페어링합니다.







LED ON버튼, LED OFF버튼을 누르면 HC-06로 값이가고

아두이노가 그 값을 읽습니다. 또한 이 어플에서는 사용자가 어떤

값을 보냈는지 화면에 보여줍니다




그러면 이제 스마트폰으로 아두이노와 블루투스로 연결하여 아두이노를 제어할수 있게 되었습니다.


HC-06설정하기