아두이노 보드에 블루투스 모듈을 장착하고, 휴대폰에서 본 앱을 작동시켜 휴대폰과 아두이노 간에 블루투스 통신을 연결시킨 다음, 휴대폰에 구비된 여러가지 버튼을 눌러서 그 버튼의 눌러짐을 아두이노에서 인식하여 원하는 동작을 시키도록 하는 앱
- 단일 버튼 : 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);
}
}
----
개발자 연락처 :
+821037569668
ଗତ ଅପଡେଟର ସମୟ
ନଭେମ୍ବର 6, 2022