코딩과 아두이노의 찰떡궁합 Ep-28

코딩과 아두이노의 찰떡궁합 Ep-27


아두이노에 연결해 사용 가능한 블루투스 4.0을 지원하는 모듈은 AT-09와 HM-10이 있습니다. AT-09가 가격이 저렴하기 때문에 해당 모듈을 이용한 연결을 해보겠습니다. 물론 HM-10도 같은 방법으로 연결할 수 있습니다.

이제 프로젝트에 필요한 부품을 알아보겠습니다.

아두이노 우노(Uno) 보드가 필요하구요~

블루투스 통신에 사용할 모듈은 4.0이 지원되는 AT-09를 이용하겠습니다.



참고로AT-09는 오픈마켓이나 네이버에서 검색하시면 HC-06보다 저렴한 가격에 판매되고 있습니다.

아두이노 보드와 블루투스 모듈(AT-09)는 아래와 같이 연결해주시면 됩니다.

연결이 완료되면 아두이노 IDE를 실행해 아래 코드를 입력합니다.

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

#include <SoftwareSerial.h>

SoftwareSerial BTSerial(2, 3);

void setup() {

Serial.begin(9600);

Serial.println("Hello!");

BTSerial.begin(9600);


void loop() {

if (BTSerial.available()) {

Serial.write(BTSerial.read());

}

if (Serial.available()) {

BTSerial.write(Serial.read());

}


 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

위 코드에 대해 설명드리겠습니다.

#include <SoftwareSerial.h>

SoftwareSerial.h 파일을 로드하는 명령입니다. 소프트웨어 시리얼을 사용하는 경우에 이 파일을 로드해야 합니다. 소프트웨어 시리얼은 디지털 0, 1번이 아닌 다른 핀에 블루투스 모듈을 연결하는 것을 말합니다. 디지털 0, 1번에 연결하면 하드웨어 시리얼로 통신을 하게되는데 문제는 컴퓨터에 연결된 상태에서는 USB 포트가 디지털 0, 1번을 통해 데이터를 주고 받기 때문에 사용할 수 없습니다. 그래서 아두이노에서는 2~13번 핀 중 원하는 핀에 연결하고 사용할 수 있도록 지원합니다. 이때는 SoftwareSerial.h 파일을 로드해야 합니다.


SoftwareSerial BTSerial(2, 3);

소프트웨어 시리얼로 통신하기 위해 이름과 송신핀과 수신핀번호를 지정하는 명령입니다.


Serial.begin(9600); BTSerial.begin(9600);

시리얼 모니터의 통신 속도와 블루투스 통신의 속도를 설정한 것입니다. 이 두가지의 속도는 같아야합니다. 다르면 정상적인 통신을 할 수 없게됩니다.


if (BTSerial.available()) { Serial.write(BTSerial.read()); }

만약 블루투스로 아두이노에 전송된 데이터가 있다면 해당 데이터를 읽어 시리얼 모니터에 출력하는 명령입니다. 스마트폰에서 입력한 내용이 있다면 해당 내용을 아두이노의 시리얼 모니터에 나타내줍니다.


if (Serial.available()) { BTSerial.write(Serial.read()); }

만약 시리얼 모니터의 입력이 있다면 해당 내용을 블루투스를 통해 전송하는 명령어입니다.


이정도로 코드 설명은 마무리하고 이제 코드를 업로드 합니다.

아두이노가 연결된 컴퓨터의 아두이노 IDE 프로그램 오른쪽 상단 [시리얼 모니터]를 클릭해 엽니다. 시리얼 모니터가 열리면 하단 목록에서 [Both NL & CR]을 선택합니다. 이 항목으로 선택되지 않으면 블루투스로 주고받는 메시지가 깨져보이게 됩니다.

PC에서의 작업은 완료되었습니다. 스마트폰에서 통신할 앱을 설치해야합니다. 블루투스 4.0을 지원하는 앱을 설채햐아합니다. 블루투스 2.0은 설정에서 미리 페어링을 해야하지만 블루투스 4.0은 페어링 없이 앱에서 바로 연결해 사용합니다. Play 스토어/App Store에서 [3demp]로 검색합니다. 검색 결과 앱 중 [3Demp - 3dempPlayer...]를 설치합니다.

앱이 설치되면 앱을 실행합니다. 앱이 실행되면 왼쪽 블루투스 로고를 터치합니다.

[SCAN]을 터치해 근처 블루투스 모듈을 검색합니다. 검색된 모듈을 터치해 선택합니다.

블루투스 연결이 완료되면 블루투스 아이콘 모양이 밝은 하늘색으로 표시됩니다. 아두이노에 연결한 블루투스 모듈도 붉은색 LED가 깜박거리는 상태에서 계속 점등 상태로 나타납니다. 이제 통신을 위해 오른쪽 하단 [TEXT]를 터치합니다.

하단 메시지 입력란에 아두이노로 전송할 메시지를 입력하고 [Send]를 터치합니다.

컴퓨터의 아두이노 시리얼 모니터에 스마트폰에서 전송한 메시지가 나타납니다.

이번에는 아두이노 시리얼 모니터 입력창에 텍스트를 입력 후 [전송]을 클릭합니다.

아두이노 시리얼 모니터에서 전송한 메시지가 스마트폰에 전송된것을 확인할 수 있습니다.

위 과정을 동영상으로 확인해보겠습니다.

https://www.youtube.com/watch?v=YJd_QDB992E



이 방법을 조금 더 응용하면 LED를 켜고 끄는것, RC카를 만드는 것 등도 가능합니다. 다음 강좌에는 블루투스 4.0으로 LED를 제어하는 방법을 알아보겠습니다.


감사합니다.

▶상상을 현실로 만드는 아두이노(Arduino)

     ■  박경진 지음 / 에듀아이 출판

알라딘Yes24교보문고영풍문고반디앤루니스인터파크

     ■  아두이노 초보자 책으로 추천합니다.


[책에서 다루는 내용]

    ■ 소프트웨어 코딩을 이해하고 아두이노에 업로드/테스트하는 방법     

    ■ 서서히 색상이 그라데이션 형태로 바뀌는 LED 무드등 만들기    

    ■ 리드 스위치 모듈로 창문이나 현관 문 열림 감지하기    

    ■ 토양 수분 센서로 화분의 수분 상태를 측정해 물 공급시기 체크하기    

    ■ 비접촉식 온도 센서로 비접촉 체온 측정기 만들기    

    ■ 이 세상 하나뿐인 우리집 미세 먼지 측정기 만들기    

    ■ 주변 밝기를 측정해 자동으로 켜지고 꺼지는 스마트 전등(가로등) 만들기   

    ■ 거리를 측정하는 초음파 센서를 이용해 자동차 후방 감지기 만들기    

    ■ 일정한 거리내의 사람을 인식해 자동으로 열리고 닫히는 스마트 휴지통 만들기    

    ■ 스마트폰 블루투스로 연결해 제어하는 RC 카 만들기    

    ■ 집밖에서 스마트폰으로 집안의 사물인터넷 기기 제어   


[이 책의 대상 독자]

    ■ 아두이노를 가장 쉽게 접근하고, 활용하고자 하는 독자   

    ■ 소프트웨어 교육 의무화로 소프트웨어 코딩을 배우고 싶은 학생    

    ■ 사물인터넷 제품을 만들어 스마트 홈을 구현하고 싶은 독자    

    ■ 어렸을 때 생각했거나 상상했던 제품을 직접 만들어보고 싶은 독자    

    ■ 소프트웨어와 하드웨어의 상관 관계를 이해하고 제어하고 싶은 독자    

    ■ 로봇, 드론 등의 제품 구현을 위한 기본 지식을 습득하고자 하는 독자   


아두이노 초보자분들이 가장 쉽게 배울수 있는 책입니다. 추천합니다^^!!


끝까지 읽어주셔서 고맙습니다^^

다음 에피소드에서 또 뵙겠습니다^^



#코딩추천책

#코딩책추천

#아두이노책

#아두이노강좌

#아두이노책추천

#아두이노추천도서

#코딩책

#사물인터넷

#사물인터넷책추천

#블루투스

#bluetooth

#블루투스통신하기

IT 교육전문가 코딩, 소프트웨어, 사물인터넷 정보보안, 스마트폰 영상편집 등의 강의 및 출판을 전문으로하는 1인기업입니다.
Follow
4.7 Star App Store Review!
Cpl.dev***uke
The Communities are great you rarely see anyone get in to an argument :)
king***ing
Love Love LOVE
Download

Select Collections