본문 바로가기

데일리 공부 기록

hands on arduino - 스마트폰과 아두이노 블루투스 연결

728x90

[목표]

: 아두이노의 블루투스 모듈 HC-05 를 이용하여 스마트폰과 연동해보자

 

연결한 포트는 아래와 같다. 

Txd -> 10

Rxd -> 11

 

 

블루투스 모듈을 연결한 모습
스마트폰에서 컴퓨터로 데이터 전송

 

컴퓨터에서 스마트폰으로 데이터 전송

"아두이노 블루투스 컨트롤러" 

라고 PlayStore에 검색하면 나온다.

 

그걸로 블루투스를 연결하였다.

 

// 블루투스 연결을 위해 라이브러리 불러옴 
// 스케치 - 라이브러리포함하기 - SoftwareSerial
#include <SoftwareSerial.h>

int Txd = 10;                              // Transmit Data
int Rxd = 11;                              // Receive Data
SoftwareSerial phonSerial(Txd, Rxd);       // 블루투스를 가동 시킬 시리얼
String phonString = "";
String semoString = "";

void setup() {
  Serial.begin(9600);                         // 시리얼 모니터 개시
  phonSerial.begin(9600);                     // 스마트폰 시리얼 개시
}

void loop() {                                
  while(phonSerial.available())              // 스마트폰 -> 아두이노 시리얼 모니터
  {                                          // 스마트폰에서 문자가 들어 오면
    char phonChar = (char)phonSerial.read(); // 스마트폰에서 읽어 온 문자를 
                                             // one byte씩 끊어서 전송
    phonString += phonChar;                  // phoneString에 누적
    delay(5);
  }
  while(Serial.available())                  // 아두이노 시리얼 모니터 -> 스마트폰 
  {                                          // 시리얼 모니터에 문자가 들어 오면
    char phonChar = (char)Serial.read();     // 시리얼 모니터에서 읽어 온 문자를 
                                             // one byte씩 끊어서 전송
    semoString += phonChar;                  // semoString에 누적
    delay(5);
  }
  if(!phonString.equals(""))                 // 스마트폰에 문자가 들어 왔으면
  {
    delay(5);
    Serial.println("스마트폰에서 : " + phonString); // 시리얼 모니터에 출력
    phonString = "";
    }
  if(!semoString.equals(""))                 // 아두이노 시리얼 모니터에 문자가 들어 왔으면
    {    
    delay(5);
    phonSerial.println("아두이노에서 : " + semoString); // 스마트폰에 출력
    semoString = "";
  }
}

 

 


 

내가 원하는 내용을 

표현하기 위해 언어 대신 전기적 신호를 준다.