개발/아두이노

[아두이노] 블루투스 통신 소스

두노이노 2014. 12. 9. 19:40
아두이노
블루투스는 매우매우 많이 쓰일 수 있다.

특히 DIY 에서 아두이노와 모바일과의 연동은 빼놓을 수 없다.

블루투스는 생각보다 매우 간단하다!

소스도 짧고 보내고 받고만 잘하면 되기 때문에!!

소스를 한번 봐보자.

<소스>


#include "string.h"
#include <SoftwareSerial.h>

/* Bluetooth Pin Set */ 
int RX = 1;
int TX = 0;
SoftwareSerial BT = SoftwareSerial(TX,RX);
int incomingByte=0; 

void setup() 
{
  BT.begin(9600);    //BT Baudrate Set
  BT.print("Bluetooth Test source");
}

void loop()     //system loop
  if(BT.available()>0)       //Bluetooth Connect
    {
       incomingByte=BT.read();       
       BT.print(incomingByte); 
    }   

}


</소스>




<동작 설명>
#include <SoftwareSerial.h> 을 추가한 후 코딩을 시작한다.

int RX = 1;
int TX = 0;

Rx와 TX라는 변수를 설정한다.

RX는 1번핀, TX는 0번핀이라고 선언을 한다.

SoftwareSerial BT = SoftwareSerial(TX,RX); 여기서 BT는 우리가 사용할 이름이라고 생각하면 된다.

BT.print  ,  BT.read 등으로 앞에 BT가 항상 붙게 될 것이다.

SoftwareSerial Example = SoftwareSerial(RX,TX);

이렇게 이름을 쓴다면  Example.print , Example.read 이런식으로 사용할 수 있게 된다.

BT.begin(9600)  은 Baudrad 설정이다. 보통 9600  115200 등을 많이 사용한다.

if(BT.available()>0)       이 부분은 블루투스가 통신을할 수 있을 때, 즉 수신 받을 수 있을 때

라고 생각하는게 편하다.

incomingByte=BT.read();   이 부분은 수신한 DATA를 incomingByte라는 변수에 저장.

BT.print(incomingByte);  이 부분은 수신한 값을 다시 BT.print로 보내어서 수신값을 확인시켜주는 소스.

예를들면  A를 보내면 A가 다시 받아지는 소스 이다.

디버깅할 때도 매우 좋은 소스이니 참고하시길!!


<관련 링크>