본문으로 바로가기

DIY 프로젝트 아두이노 블루투스 통신 어플  메인사진

 

안녕하세요. 애드라이프 입니다.

정말 오랜만에 DIY프로젝트 글을 쓰는것 같네요..

개인적으로 많이 바빠서 하고 싶은건 많은데

시간이 없었어요.ㅠㅠ

 

이번에 준비한 프로젝트는

아두이노 블루투스 모듈편과

안드로이드 어플의 꼴라보레이션!!!

 

[ 준비물 ]


Arduino Nano 1EA

HC-06 bluetooth module

점퍼선 4EA

브레드 보드

usb케이블(아두이노 전원공급 및 통신용)

안드로이드 폰


아두이노는 어떤걸 쓰셔도 상관없지만

이번 포스팅에서 나노를 사용할 예정이므로

준비물에 나노를 적었습니다!!

Arduino Nano보드 사용법은 아래링크 참고해주세요.

나노보드 사용하기 <- 링크

 

아두이노(Arduino) 기초 나노보드 사용하기

안녕하세요. 애드라이프 입니다. 계속 아두이노 우노 보드만 사용하다 이번에는 나노보드를 사용해보겠습니다. 우노보드에 비해 크기가 1/4정도로 사용할 수 있는 기능은 물론 우노보드보다 적지만 공간효율면에..

increase-life.tistory.com

 

먼저 아두이노 세팅부터 시작하겠습니다.

HC-06을 사용하기 위해선 AT명령을 통해

모듈 세팅을 해야합니다.

 

HC-06의 연결 및 아두이노 프로그램과

AT명령어에 대한 포스팅은 이미 진행 하였으니

아래 포스팅 참고하시면 쉽게 따라오실 수 있습니다.

아두이노 HC-06사용하기 <- 링크

 

 

 

아두이노(Arduino) 중급 아두이노 HC-06와 안드로이드폰을 사용해서 LED 제어

안녕하십니까? 애드라이프 입니다. 이번에는 저번에 HM-10 BLUETHOOTH 4.0에 대하여 포스팅 했었는데요. 이번에는 좀더 보편적인 모듈인 HC-06 블루투스 모듈을 포스팅하겠습니다. 실물부터 확인 하겠습니다.▼..

increase-life.tistory.com

해당 포스팅은 다른사람이 만들어 놓은 

블루투스 어플을 이용하여 아두이를 통해

LED를 제어하는 방법을 다루고 있습니다.

 

그런데 저는 제 방식대로 표현하고 싶은게

많아서 어플을 만들어 버렸어요..

 

우선 결과를 먼저 보여드릴께요!!

비투윈 블루투스 어플 초기화면

 

우선 제가 만든 어플 초기화면 입니다.

여러가지 기능을 넣어 사용하고 싶은 마음에

제작한 어플이고 이번에 간단하게 보여드를건

가장 위에 있는 안드로이드와 다른창치

버튼을 눌러 나오는 화면으로 진행합니다.

 

 

안드로이드와 다른창치 버튼을 눌렀을때

나오는 화면입니다. 블루투스 모듈과 페어링을

위해선 연결 버튼을 클릭합니다.

 

비트윈 블루투스 페어링 목록

 

개인정보 보호를 위해 블러 처리하였습니다.

위와 같이 페어링 가능한 기기들의 목록이 뜹니다.

해당 목록에서 자신이 연결하고자 하는 기기를 

선택하면 연결을 시도합니다.

 

비트윈 블루투스 기기 연결 성공

선택된 기기와 연결이 성공하면 

Connected to 기기 이름:기기 주소

식으로 텍스트가 표기됩니다.

 

잠깐 주의 사항으로 어플사용전 

블루투스 모듈을 안드로이드 폰에

사용가능 기기목록으로 추가를 한다음 진행해주세요.

폰에서 지원하는 기본 블루투스로 목록추가는 가능합니다.

 

이제 연결도 되었으니 아두이노와 통신이 잘되는지 볼까요?

먼저 어플에서 Data를 전송하겠습니다.

비트윈 블루투스 데이터 전송
비트윈 블루투스 데이터 전송

데이터를 보내면 어플에는 이런식으로 보이게 되고

아두이노 쪽에는 시리얼 모니터로 확인시

아두이노 블루투스 통신 어플 데이터 수신 결과

받은 데이터와 길이를 함께 표현해주고 있습니다.

위 사진처럼 데이터가 보이게 하려면 

블루투스 모듈에 AT명령을 끝낸 후

아래 프로그램을 업로드 해주세요.

#include <SoftwareSerial.h> //시리얼통신 라이브러리 호출
 
int blueTx = 2;                     //Tx (보내는핀 설정)at
int blueRx = 3;                     //Rx (받는핀 설정)

String ReciveBTString;
String ReciveSRString;
const char *ReciveSR_CRLF;
char ReciveBT;
char ReciveSR;

SoftwareSerial mySerial(blueTx, blueRx);  //시리얼 통신을 위한 객체선언

void setup() 
{
  Serial.begin(115200);               //시리얼 9600
  mySerial.begin(115200);             //블루투스 9600
}
void loop()
{
  while(mySerial.available())      //블루투스 수신데이터가 있는동안
  {
    ReciveBT = (char)mySerial.read();   //mySerial int 값을 char 형식으로 변환
    ReciveBTString+=ReciveBT;                 //수신되는 문자를 myString에 모두 붙임 (1바이트씩 전송되는 것을 연결)
//    Serial.println(ReciveBTString);
    delay(5);                       //수신 문자열 끊김 방지
  }
   while(Serial.available()) {         //시리얼 수신데이터가 있는동안
    ReciveSR = (char)Serial.read();  
    ReciveSRString+=ReciveSR;               
//    Serial.println(ReciveSRString);
    delay(5);                       //수신 문자열 끊김 방지 
  }
  if(!ReciveBTString.equals(""))         //ReciveBTString 값이 있다면
  {
    Serial.print("Recive : ");
    Serial.println(ReciveBTString);
    Serial.println(ReciveBTString.length());
    ReciveBTString=""; //초기화
  }
  if(!ReciveSRString.equals(""))         //ReciveSRString 값이 있다면
  {
    Serial.print("Send = ");
    Serial.println(ReciveSRString);
    mySerial.println(ReciveSRString+"\r\n");
    Serial.println(ReciveSRString.length());
    ReciveSRString=""; //초기화
    ReciveSR_CRLF="";
  }
}

 저는 블루투스와 아두이노의 통신 속도를 115200으로

설정해서 하고 있지만 여러분들은 자신이 설정하고자 하는

값으로 변경하셔서 사용하셔야합니다.

 

예를들어 AT명령으로 블루투스 설정시

통신속도를 9600으로 했는데 위 프로그램에

통신속도를 저랑 같은 115200으로 설정하면

통신이 될리가 없겠죠?

 

어플에서 데이터를 보내봤으니 

이제 아두이노에서 데이터를 보내보겠습니다.

아두이노 블루투스 통신 어플에 데이터 송신

 

아두이노 시리얼 모니터에

Welcome이라고 입력했더니

 

비트윈 블루투스 데이터 수신

위 사진처럼 잘 수신되는 것을 볼 수있습니다.

이렇게만 사용할수 있더라도 정말 많은 TEST에

활용 할 수 있겠죠?

 

해당 어플은 구글 플레이스토에 출시해 놓았으니

마음껏 쓰시면 되구요.

어플 간단 사용법은 아래 링크 참고해주세요.

[안드로이드/어플 론칭] - [ 안드로이드 ] Between Bluetooth 어플 출시

 

 

 

[ 안드로이드 ] Between Bluetooth 어플 출시

data-ad-unit = "DAN-rkxb4pi9ix4n" data-ad-width = "300" data-ad-height = "250"> data-ad-unit = "DAN-rkxb4pi9ix4n" data-ad-width = "300" data-ad-height = "250"> 안녕하세요. 애드라이프 입니다. 이전에..

increase-life.tistory.com

제가 어플제작하는 고수가 아니라

부끄러워 코드를 공개하진 않지만

제가 어플에 사용한 기능중에 궁금하신점이

있다면 알려드릴 수 있습니다!!

 

아닌건 저도 잘 몰라요!!!

 

여기까지 줄이겠습니다...

다음에는 더욱 유익한 포스팅으로 돌아오겠습니다.

by 애드라이프

 

구독과 공감버튼 눌러주세요!!!