앱 인벤터 appinventor

앱 인벤터에 의한 H-06 블루투스 아두이노 우노 붙박이 LED ON OFF

coding art 2017. 10. 3. 19:19
728x90


 

 

 

 

 

앱 인벤터로 블루투스에 의해 아두이노 우노의 붙박이 LED 를 on OFF 해 보자.

필요한 준비물은 아래와 같다.
안드로이드 스마트 폰; HC-06  아두이노 블루투스 센서 보드 X 1
아두이노 우노 보드 X 1; 점퍼선 4개

 

 

 

 

 

 

 

 

아두이노 우노 블루투스 배선
부품 명칭이 ZS-040 으로 되어 있으나 안드로이드 폰에 HC-06 으로 등록이 되었음에 유의한다. 2개의 블루투스 데이터 선은 RX 와 TX 이다. 아두이노 보드의 (0,1)은 코드를 업로딩할 때 사용하기 때문에 점퍼 선을 뺏다 끼웠다 하기 대단히 불편하므로 SoftwareSerial.h  라이브러리를 사용하기로 한다. 클라스 선언을 통해 (0,1)  대신 BTSerial (2,3)으로 선언한다. 블루투스 센서 보드의 TX 가 아두이노 우노에서는 RX 인 2번으로 매칭된다. 마찬가지로 블루투스 센서 보드의 RX는아두이노 우노에서 TX 인 3번으로 매칭된다.

 

 

아두이노 보드 외부에 별도의 LED 배선 없이 붙박이 LED 13번을 이용하기로 한다.
PC와의 통신은 9600 블루투스 통신속도도 9600 으로 설정한다. 블루투스 센서 보드 규격에 따라 좀 더 높은 속도 설정도 가능하다.
스마트 폰과의 블루투스 통신이 가능하다면 클라스 선언된 BTSerial,⚫⚫⚫ 명령 사용이 가능하다. 주로 .available() 과 .read() 이다.

블루투스 통신도 비밀번호 설정에 의한 보안이 되므로 버튼을 누룸에 따라 “1” 또는 “0 ”을 송신하면 충분하다.

수신 된 값이 “1” 또는 “0 ”인지 확인 후 digitalWrite() 명령에 의해 LED를 on OF

 

F  한다.

 

 


 

 

 

 

 

 

 

 

스마트 폰 블루투스 등록

 

 


 

 

 

 

 

 

 

 

 

앱 인벤터 코딩 디자인
파레트의 User Interface에서 ListPicker 1개, 버튼 2개, Connectivity에서 BluetoothClient 1개를 사용한다.

 

 

 

 

 

 

 

 

 

 

 

 

스마트 폰 화면 구성은 하래 한글 사용번과 유사한듯하다. ListPicker를 Viewer Screen1 에 드래그한 후 속성 창에서 Text  입력 박스에 LED Control을 입력한다.  center, bold를 포함하는 폰트 세부 정보를 입력 하고 Width 항목에서 Fill

 

 

 

 

parent를 선택하면 화면에서 자동적으로 수평 한 줄을 차지하게 된다.

Turn on 버튼과 Turn OFF 버튼은 User Interface에서 버튼을 드래그 하기 이전에 Layout의 HorizontalArrangement를 드래그 한다. 그 다음 버튼 2개를 각각 드래그해 넣는다. 보다 세부적인 것은 각자 실습을 통해 익히도록 하자.

 

 

 


앱 인벤터 블록 편집

ListPicker 란 HTML에서 라디오 태그 라든지 또는 ul  태그와 비슷해 보인다. 스마트폰 웹 화면상에 필요한 버튼 내지는 정보를 나열하는 방식으로 보인다.

 

 


2개의 블루투스 통신 버튼을 가지는 LED Control 이라는 이름의  ListPicker1은 픽하기(Pick) 전에 블루투스 클라이언트로서 주소와 이름을 갖는다.
픽이된 후에는 그 주소와 이름으로 블루투스를 통해 외부와 연결(Connect) 한다. 이때 필요한 주소와 이름을 ListPicker1로부터 제공 받는다.

 

 

 

블루투스 연결이 이루어지면 Turn on  버튼과 Turn OFF 버튼을 번갈아 누르면 즉 “1” 이나 “0”을 송신하면 아두이노 우노의 붙박이 LED 가 on OFF 된다.

코딩된 앱 인베터 코딩을 저장하고 BUILD 하여 앱을 생성하도록 한다.

 

앱 인벤터 실행

 

 

스마트 폰에서 앱을 터치하든지 아니면 앱 인벤터 편집기로부터 QR 코드를 송신 받아 실행 시키게 되면 LED Control ListPicker가 나타난다.

이 ListPicker를 터치하면
그 아래의 블루투스 ID 번호가 나타난다. 이 번호를 다시 터치하면 세 번째 화면으로 바뀌는데 LED COntrol 대신 Connected 가 나타난다.

Turn on OFF 버튼을 눌러 LED 가 on OFF 됨을 확인해 보자.

블루투스를 서로 찾는 시간 동안에는 블루투스의 빨간 LED 가 빠르게 깜박인다. 찾으면 멈추게 된다.

 

appinventor_BT_LED_ON_OFF_01

 

 

 

#include <SoftwareSerial.h>
SoftwareSerial BTSerial(2,3);//(RX,TX)
int LED = 13;

void setup() {
  Serial.begin(9600);
  BTSerial.begin(9600);
  pinMode(LED,OUTPUT);
}

void loop() {
  if(BTSerial.available())  {
    char data = BTSerial.read();
    Serial.write(data);
  if(data == '1')  {
    digitalWrite(LED,HIGH);
  }
  if(data == '0')  {
    digitalWrite(LED,LOW);
  }
 }
}//끝