아두이노 보드에 블루투스 모듈을 장착하고, 휴대폰에서 본 앱을 작동시켜 휴대폰과 아두이노 간에 블루투스 통신을 연결시킨 다음, 휴대폰에 구비된 여러가지 버튼을 눌러서 그 버튼의 눌러짐을 아두이노에서 인식하여 원하는 동작을 시키도록 하는 앱
- 단일 버튼 : 10개 (2개씩 쌍으로 묶어 5가지의 ON/OFF 상태 제어도 가능)
- 숫자 및 알파벳 입력 창과 이것을 아두이노로 전송하는 전송 버튼
 (숫자로 속도 제어 등에 이용 가능. 문자열 및 숫자열 가능)
(각 버튼을 눌렀을 때 아두이노에 전송되는 데이터)
A ON 버튼 : a.        A OFF 버튼 :  A.
B ON 버튼 : b.        B OFF 버튼 :  B.
C ON 버튼 : c.        C OFF 버튼 :  C.
D ON 버튼 : d.        D OFF 버튼 :  D.
E ON 버튼 : e.        E OFF 버튼 :  E.
전송 버튼 : 왼쪽에 입력한 문자/숫자열에 .이 추가된것
* 끝에 추가되는 .을 아두이노 프로그램에서 전송의 끝으로 처리.
(아두이노에서의 프로그램 예)
아두이노의 디지털포트 5번에 연결된 LED를 A ON, A OFF 버튼으로 점멸시킴.
첫부분에 SoftwareSerial.h를 include 한다.
SoftwareSerial BT(2, 3); // 아두이노 D2(RX)는 블루투스모듈의 2번핀(TX)에,
                         // 아두이노 D3(TX)은 블루투스모듈의 1번핀(RX)에 연결
char inData[10];
int led1 = 5;
int i=0;
void setup() {
   Serial.begin(9600);   // for uno 9600
   BT.begin(9600);   // for uno 9600
   for(int i=0; i<5; i++){
     pinMode(5+i, OUTPUT);
     digitalWrite(5+i, LOW);   
   }
}
void loop() {
while (BT.available() > 0)
    {
        char recieved = BT.read();  // read 1 byte
        inData[i++] = recieved; 
        if (recieved == '.')
        {
            Serial.print(inData);
            inData[i] = '\0'; // Clear recieved buffer
            i = 0;
        }
    }
  
  // LED1 on/off   
  if(strcmp(inData,"a.")==0)
  {
    digitalWrite(led1, HIGH);
  }
  if(strcmp(inData,"A.")==0)
  {
    digitalWrite(led1, LOW);
  }
}
----
개발자 연락처 :
박창섭 책향기로 420
신동아 파밀리에, 1104동 502호
파주시, 경기도 10874
South Korea 5606241057742 5606241057742 5606241057742
Aktualisiert am
05.12.2024