아두이노

본문 바로가기
사이트 내 전체검색


아두이노
아두이노

1. 블루투스 HC-06와 스마트폰 연결하기

페이지 정보

작성자 관리자 댓글 0건 조회 3,033회 작성일 18-11-20 16:21

본문

1. 블루투스 HC-06와 스마트폰 연결하기

 

아두이노에 블루투스 모듈(HC-06)을 연결하고, 스마트폰으로 아두이노와 통신을 하도록 하겠습니다.


WIFI는 사용한다면 가장 안정적인 환경을 구축 할 수는 있습니다. 통신속도도 빠르고 통신범위도 블루투스보다 큽니다. 하지만, 전력소모율이 많아서 전지를 사용하는 시스템에서는 효율적이지 않고, 모듈 자체의 가격도 높습니다.


XBee는 센서통신 등에 적합합니다. 저전력 시스템 구현도 가능하지만, 스마트폰이나 PC에도 XBee 모듈을 설치해야하는 불편함이 있습니다.


반면, Bluetooth는 가격도 저렴하고, 스마트폰이나 노트북등에 블루투스가 내장되어 있어서 추가장비 없이 다방면에 활용이 가능 합니다. 하지만, 통신거리가 약 10M 이내이며, 벽으로 막혀 있을 경우 통신이 막힐 수 있습니다. 와이파이등에 비해서 통신속도도 느리고 블루투스간의 통신(페어링)이 자주 끊어지는 불편함도 있습니다.


하지만, 블루투스는 가격이 저렴해서 IoT 관련 작품 활동에 많이 사용합니다.


이번 실습에 사용하는 블루투스 모듈 HC-06은 아이폰 연결에 어려움이 있습니다. 아이폰 사용자는 아이폰 연결이 가능한 블루투스 모듈(HC-05 등)을 사용합니다.



그림입니다.

원본 그림의 이름: CLP000004ac0006.bmp

원본 그림의 크기: 가로 911pixel, 세로 525pixel


실습에 사용하는 HC-06을 정확하게 말하면 HC-06 슬레이브 모듈 입니다.


블루투스는 슬레이브와 마스터 모듈이 있습니다.


마스터 모듈은 여러개(최대 7개)의 슬레이브 모듈을 연결 할 수 있습니다.

슬레이브 모듈은 꼭 하나 이상의 마스터 모듈이 있어야지 통신이 가능합니다.

아두이노로 스마트폰과 블루투스 통신을 할때는 스마트폰에 내장된 마스터 모듈과 연결이 됩니다.


일단은 블루투스와 아두이노를 연결 해 보겠습니다.


(1) 회로도 구성



그림입니다.

원본 그림의 이름: CLP000004ac0008.bmp

원본 그림의 크기: 가로 287pixel, 세로 554pixel그림입니다.

원본 그림의 이름: CLP000004ac0009.bmp

원본 그림의 크기: 가로 323pixel, 세로 440pixel


(2) 소스코딩


#include <SoftwareSerial.h>


SoftwareSerial BTSerial(3,2);

/*

 * RXD = 아두이노 2번핀에 연결

 * TXD = 아두이노 3번핀에 연결

 */

 

void setup()

{

  Serial.begin(9600);

  BTSerial.begin(9600);

}


void loop()

  if(BTSerial.available()) {

     Serial.write(BTSerial.read());

  }

  if(Serial.available()) {

     BTSerial.write(Serial.read());

  }

}



(3) 실행 결과


작성을 완료했으면, 시리얼 모니터를 띄우고 아래 부분에서 “line ending 없음”을 선택한다.


아래와 같이 입력하여 블루투스를 설정합니다.


블루투스가 아두이노에 잘 연결되었는지를 확인하기 위해서 입력폼에 AT라고 입력후 전송버튼을 누른다.

시리얼 모니터에 OK라고 나타나면 연결이 잘 된 것이다.


그림입니다.

원본 그림의 이름: CLP000004ac000a.bmp

원본 그림의 크기: 가로 720pixel, 세로 406pixel


OK가 확인 되었다면 블루투스에 이름을 만들어 줄 차례입니다.

블루투스에 이름은 여러 가지 블루투스 기기와 혼동하지 않기 위해서 꼭 필요하다.

시리얼 모니터 입력폼에 AT+NAME 뒤에 원하는 이름을 넣어준다.


그림입니다.

원본 그림의 이름: CLP000004ac000b.bmp

원본 그림의 크기: 가로 303pixel, 세로 121pixel


'OKsetname'라는 메시지가 나온다면 이름이 정상적으로 적용된겁니다.


다른 사람이 내 블루투스를 제어하지 못하도록 비밀번호를 만들어 줄 차례입니다.

시리얼모니터 입력폼에 'AT+PIN'에 붙여서 비밀번호로 사용 할 숫자 네자리를 넣어줍니다.

(예 : AT+PIN1234)


그림입니다.

원본 그림의 이름: CLP000004ac000c.bmp

원본 그림의 크기: 가로 373pixel, 세로 117pixel


'OKsetPIN'이라는 메시지나 나왔다면 비밀번호가 정상적으로 셋팅된겁니다.


마지막으로 아두이노와 블루투스가 통신할 baud rate(통신속도)를 셋팅 해줘야 합니다.

시리얼모니터 입력폼에 'AT+BAUD4'를 입력 후 엔터를 칩니다.


그림입니다.

원본 그림의 이름: CLP000004ac000d.bmp

원본 그림의 크기: 가로 321pixel, 세로 112pixel


화면에 'OK9600'이라고 나온다면 성공적으로 통신속도가 셋팅 되었습니다.


BAUD 뒤에 붙는 숫자에는 다음과 같은 통신속도가 저장 되어 있습니다.

1: 1200

2: 2400

3: 4800

4: 9600

5: 19200

6: 38400

7: 57600

8: 115200


아두이노에서 블루투스를 사용하기 위한 모든 셋팅이 끝났습니다.


다음은 스마트 폰에서 블루투스를 연결합니다.


그림입니다.

원본 그림의 이름: CLP000004ac000f.bmp

원본 그림의 크기: 가로 349pixel, 세로 174pixel


블루트스에 들어가면 연결가능한 디바이스 목록에 아두이노의 블루투스명이 나타납니다. 선택하여 연결합니다.


그림입니다.

원본 그림의 이름: CLP000004ac0010.bmp

원본 그림의 크기: 가로 344pixel, 세로 226pixel


이젠 스마트폰에 블루투스 통신 테스트를 위한 앱을 설치 합니다.


그림입니다.

원본 그림의 이름: CLP000004ac0014.bmp

원본 그림의 크기: 가로 356pixel, 세로 611pixel


여러 가지 앱이 있는데, 하나를 선택하여 설치합니다.


그림입니다.

원본 그림의 이름: CLP000004ac0015.bmp

원본 그림의 크기: 가로 346pixel, 세로 397pixel


블루투스 장치를 선택합니다.


입력창에 안녕하세요를 입력하고 전송을 클릭합니다.


아두이노 시리얼 모니터에 안녕하세요가 나타나는 것을 확인할 수 있습니다.

시리얼 모니터의 아래 부분에서 “새 줄”을 선택합니다.

그림입니다.

원본 그림의 이름: CLP000004ac0013.bmp

원본 그림의 크기: 가로 716pixel, 세로 404pixel


스마트폰에서 아두이노로 데이타가 넘어간 결과 입니다.


이번에는 반대로 아두이노에서 스마트폰으로 데이타를 보내보겠습니다.


시리얼모니터 입력창에 Hello 라고 입력 해보세요

스마트폰에 Hello 라는 글자가 나타납니다.


그림입니다.

원본 그림의 이름: CLP000004ac0016.bmp

원본 그림의 크기: 가로 348pixel, 세로 198pixel


여러가지 어플을 설치해서 블루투스 통신을 테스트 해 보면서 자신에게 맞는 어플을 선택합니다.



댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.