본문 바로가기
앱스킷(APPSKIT) 강좌

[앱스킷](SW-ON V1) I2C 푸시버튼 스위치 모듈 사용방법 알아보기 - 2편

by 오마이엔지니어 2018. 11. 29.
반응형


[안드로이드 스마트폰용 시리얼모니터와 앱스킷(SW-ON V1) 간 USB 연결]

 

 

 

안드로이드 폰에서도 PC의 아두이노 시리얼모니터처럼 USB를 통해 데이터를 전송해볼까?

 

*일부 OTG 전원 동작을 제한(특수한 D+/D- 관리)하는 스마트폰에서는 연결이 되지 않습니다. S사 제품에서는 현재까지 문제가 없었습니다.

 

 

 

먼저 본 동작을 위해 APPSKIT을 구성합니다.

 

사용되는 모듈은 U-HUB V1 허브-모듈, PWR-ON V1 노드-모듈, SW-ON V1 노드-모듈, NODE-STAND V1 확장-스탠드입니다.

 [U-HUB V1, PWR-ON V1, SW-ON V1과 NODE-STAND V1 결합 사진]

 

 

 

U-HUB V1 허브-모듈에 필요한 스케치를 업로드합니다.

 

스마트폰과 연결하기 전 U-HUB V1 허브-모듈에 SW-ON V1 노드-모듈 구동을 위한 스케치를 미리 업로드합니다. 아래 스케치는 SW-ON V1 노드-모듈 1편에서 사용한 것과 동일합니다.

 

    [제품노트_SW-ON V1] I2C 푸시버트 스위치 모듈_1편(링크)


example code.txt

/*                                                                                                                                */
}
 
#define PUSH_ADDR 0x21
//#define PUSH_ADDR 0b00100001
 
byte nReadPushBtn = 0;
 
 
int ReadPushBtn(byte bAddr)
{
  byte nPushBtn = 0;
 
  Wire.requestFrom(bAddr, 1);
  if(Wire.available()) nPushBtn = Wire.read();
  Wire.endTransmission();
  return nPushBtn;
}
 
void setup()
{
  pinMode(13, OUTPUT);
  Serial.begin(9600);
  Wire.begin();
}
 
void loop()
{
  nReadPushBtn = ReadPushBtn(PUSH_ADDR);
 
  switch(nReadPushBtn)
  {
    case 0:
      Serial.println("*UNPUSHED!*");
    break;
    case 1:
      Serial.println("SW1 PUSHED!");
    break;
    case 2:
      Serial.println("SW2 PUSHED!");
    break;
    case 4:
      Serial.println("SW3 PUSHED!");
    break;
    case 8:
      Serial.println("SW4 PUSHED!");
    break;
    case 16:
      Serial.println("SW5 PUSHED!");
    break;
    case 32:
      Serial.println("SW6 PUSHED!");
    break;
   }
 
   digitalWrite(13, HIGH);
   delay(250);
   digitalWrite(13, LOW);
   delay(250);
}

 

 

 

스마트폰과 APPSKIT을 연결할 USB 케이블을 준비합니다.

 

다음은 스마트폰과 준비된 APPSKIT을 USB로 연결할 때 필요한 케이블입니다. 총 2가지로 USB A(Female) to microUSB B(Male) 모바일 폰용 OTG 케이블, USB A(Male) to microUSB B(Male) 입니다.(일체형 케이블은 찾기 어렵네요.)

 [모바일 폰용 OTG 케이블(좌)과 USB A to microUSB B 케이블(우) 이미지]

 

 

 

필요한 안드로이드 앱을 설치합니다.

 

스마트폰과 연결하기전 안드로이드용 시리얼모니터 앱을 다운로드 받습니다. U-HUB V1 허브-모듈에는 FTDI 사의 디바이스가 적용되었기 때문에 해당 앱의 사용이 가능합니다.

 

"FTDI 사의 FTDI UART Terminal v1.1" 앱 설치 방법은 다음과 같습니다.

 

1. 안드로이드 폰의 "구글 Play 스토어"를 실행하여 "ftdi uart terminal"을 검색합니다. 

 

2. 해당 앱이 검색되면 "설치" 버튼을 눌러 설치를 시작합니다.

 

3. 동의 항목이 나오면 "동의" 버튼을 눌러 시작합니다.

 

4. 설치가 완료되면 "FTDI UART Terminal v1.1" 앱이 생성됩니다.

 

 

 

스마트폰과 APPSKIT을 USB로 연결합니다.

 

이제 안드로이드 스마트폰과 준비된 APPSKIT을 연결하겠습니다. 

 

스마트폰과 모바일 OTG 케이블 그리고 USB 데이터 케이블과의 연결은 다음과 같습니다. 사진에 보이지 않는 USB 데이터 케이블의 맞은 편 microUSB B 커넥터는 U-HUB V1 허브-모듈과 연결됩니다. 

이렇게 연결이 되면 APPSKIT의 전원은 스마트폰에서 공급받게 됩니다.

 [스마트폰과 USB 케이블 연결 사진]

 

 

 

FTDI UART Termial 앱과 APPSKIT 연결하여 확인합니다.

 

USB 연결을 완료하였으면 마지막 단계로 시리얼모니터처럼 데이터를 확인하겠습니다. 그리고 "FTDI UART Terminal v1.1' 앱에 대한 간단한 사용법도 같이 설명하겠습니다.

 

1. APPSKIT과 연결된 OTG 케이블을 스마트폰에 연결하면 USB로 연결하고자 하는 앱을 선택할 수 있는 창이 나타납니다. 이 중 앞서 설치한 "FTDI UART Terminal v1.1"을 선택합니다.

 

2. "FTDI UART Terminal v1.1"을 선택하고 "한 번만" 버튼을 클릭합니다. 만일 "항상" 버튼을 클릭하면 U-HUB V1 허브-모듈과 연결될 때 다른 앱은 무시하고 자동으로 실행됩니다.

 

3. 별도의 조작 없이 기본 설정으로 데이터를 받을 수 있습니다만 제공되는 기능을 한 번 살펴보겠습니다. 스마트폰의 "메뉴" 버튼을 누르면 아래 사진처럼 FTDI 사의 앱 메뉴가 나타납니다.

 

4. "Setting" 메뉴를 누르면 시리얼 통신 환경을 설정할 수 있습니다. 설정 후 우측의 "Configure" 버튼을 눌러 적용됩니다.

 

5. 다시 스마트폰의 "메뉴" 버튼을 눌러 "Content Format"을 누르면 표시 문자 형식을 지정할 수 있습니다. 기본은로 문자(Character)로 되어 있으며 16진 값(Hexadecimal)로 볼 수 있습니다.

 

6. 스마트폰의 "취소" 버튼을 눌러 시리얼모니터 창으로 돌아 간 뒤, 다시 스마트폰의 "메뉴" 버튼을 눌러 "Font Size"을 누르면 표시 문자의 크기를 설정할 수 있습니다.

 

7. 스마트폰의 "취소" 버튼을 눌러 시리얼모니터 창으로 돌아 간 뒤, 다시 스마트폰의 "메뉴" 버튼을 눌러 "File Destination"을 누르면 지금까지 받은 데이터를 저장할 수.

 

8.  스마트폰의 "취소" 버튼을 눌러 시리얼모니터 창으로 돌아 간 뒤, 다시 스마트폰의 "메뉴" 버튼을 눌러 "Clear Screen"을 누르면 화면을 지웁니다.

 

9. 스마트폰의 "취소" 버튼을 눌러 시리얼모니터 창으로 돌아 간 뒤, 다시 스마트폰의 "메뉴" 버튼을 눌러 "Echo - on"을 누르면 시리얼모니터 앱에서 데이터를 보낼 때 쓴 문자가 에코되어 표시되며 Off인 경우 화면에 나타나지 않습니다.

 

 

 

위에서 설명한 내용을 동영상으로 확인해 보겠습니다.

 

[안드로이드 시리얼모니터 구동 동영상] 

 

 

 

지금까지 안드로이드 스마트폰에서 사용할 수 있는 시리얼모니터 앱 설치와 APPSKIT을 연결하여 스위치 입력 데이터를 전송하는 방법을 알아보았습니다.

 

이상으로 블로그를 마치겠습니다.

 

감사합니다.


앱스킷 구매처
앱스킷 공식 홈페이지

example code.txt
0.0MB
반응형

댓글