상세 컨텐츠

본문 제목

아두이노 ADK보드 + 안드로이드 앱 프로젝트: 구글 ADK 데모앱 사용후기

안드로이드+드론 제작

by 김일국 2016. 1. 22. 16:13

본문

지난 시간에 환경설정에 이어서

아두이노 ADK보드 + 안드로이드 앱 프로젝트를 진행 하도록 합니다.

이번시간에는 지난번 구축한 환경으로 구글 ADK 데모 앱을 설치해서 LED를 켜고 끄는 앱을 작동시켜 보겠습니다.

아래사신에서 구글 ADK데모 앱의 Relay1버튼(첫번째Off) 를 누르기 전과, 누르기 후(첫번째On) 의 LED의 변화를 보실 수 있습니다.


아래 화면은 아두이노 스케치 프로그램으로 아두이노 ADK보드에 프로그램을 업로드 한 결과와 앱에서 버튼을 on 할 때 1, OFF 할 때 0 이 보드에서 msg[2] 변수값으로 넘어와서 LED를 작동시키는 것을 확인 할 수 있습니다.

위 화면에서 왼쪽 아두이노 스케치 프로그램의 기본 틀은 구글의 안드로이드 엑세서리 프레임웍( acc_framework ) 를 사용하였습니다.

구글 액세서리 프레임웍은 구글에서 ADK 패키지를 다운받아서 ( http://developer.android.com/tools/adk/index.html ) 스케치 프로그램의 라이브러리 폴더에 AndroidAccessory폴더와 USB_Host_Shield폴더를 붙여넣기 하면 완료 됩니다.

사용법은 아래 기본 프레임웍 구조에 setup()과 loop() 사용자 코드를 넣으면 됩니다.

=============================

acc_framework.ino

=============================

#include <Usb.h>

#include <AndroidAccessory.h>


AndroidAccessory acc("Google, Inc.",

                              "DemoKit",

                              "DemoKit Arduino Board",

                              "1.0",

                              "http://www.android.com",

                              "0000000012345678");

                              

void setup() {

  // put your setup code here, to run once:

  //주변 모듈 초기화

  Serial.begin(115200);

  Serial.print("\r\nStart");

  //액세서리보드 전원공급 전 100ms 대기

  delay(100);

  //액세서리보드 전원공급

  acc.powerOn();

}


void loop() {

  // put your main code here, to run repeatedly:

  byte msg[3];

  if(acc.isConnected()) {

    //명령 처리

    int len = acc.read(msg,sizeof(msg),1);

    if(len > 0) {

      Serial.println();

      Serial.println(msg[0]);

      Serial.println(msg[1]);

      Serial.println(msg[2]);

    } else {

      //주변 모듈 리셋

      // 액세서리보드가 안드로이드 폰에 연결이 안 되어 있을 경우

      delay(10);

    }

  }

}

이번시간에는 ADK 안드로이드 엑세서리 프레임웍(아두이노스케치프로그램환경)으로 아두이노ADK보드를 제어하는 것을 해 보았습니다.
다음시간에는 ADK 안드로이드 앱 프레임웍(안드로이드스튜디오환경)으로 아두이노ADK보드를 제어하는 것을 해 보겠습니다.


acc_framework.ino
0.0MB

관련글 더보기

댓글 영역