앱 인벤터 appinventor

앱 인벤터에 의한 보행계(pedometer)

coding art 2018. 8. 21. 18:59
728x90

하나의 예제를 통해 앱인벤터 편집에 능숙해 질 수 있는 추천할만한 과제로서 보행수와 거리를 계산하는 만보계 또는 보행계(Pedometer)를 앱인벤터 Sensors의 하나인 Pedometer를 사용하여 코딩하자.

 

스마트폰 화면 구성을 다음과 같이 4줄로 간단히 디자인하자.
첫줄에 보폭설정 (Set stride length): 0.4 (m)
둘째줄에 보행계 출발(Start) 정지(Stop) 버튼
세 번째 줄에 보행거리 상황(Walking steps status) 헤딩 타이틀 출력
네번째 줄에 보행거리(Elaspsed distance) 와 보행거리 숫자 디스플레이

 

 

각 줄별로 2개 또는 3개 요소가 들어가게 된다. 각 줄들의 크기는 동일하다.
1,2,4번 줄은 Horizontal Layout을 사용한다. 이 레이아웃에 라벨(문자열 데이터)과 버튼을 넣는다.
1번 줄은 라벨 1개, 버튼1개, 2번 줄은 버튼 2개, 4번 줄은 라벨 1개, 버튼 1개이다.
3번 줄은 레이아웃 없이 그냥 라벨을 1개 배치하였다.

다음은 뷰어 화면 구성과 사용된 콤포넨트 리스트이다.
3개의 레이아웃을 사용한다. 첫째는 1개의 라벨 과 1개의 버튼 두번째는 2개의 버튼과 1개의 라벨 세 번째는 2개의 라벨을 사용한다.

원래의 라벨1, ⦁⦁⦁ 및 버튼1, ⦁⦁⦁ default 명에서 바꾼 각각의 명칭은 rename 버튼을 눌러 변경한다.

 

 

Sesors 메뉴에서 Pedometer를 뉴어에 드래그 하자. Sensors의 하나인 Pedometer는 가속도계(AccelerometerSensor와는 구분된다. 즉 Pedometer는 앞으로 전진할 경우 즉 앞 방향으로 가속될 경우에 한해서 작동한다.

 

 

실제로 눌러서 사용할 버튼과 라벨 데이터를 기록하기 위한 블록을 편집하자.
버튼 Start를 클릭하게 되면 보행계의 보폭 길이(Stride Length) 변수는 라벨 txtStrideLength 텍스트 값으로 저장된 0.4(m)를 변수로 사용한다. 아울러 보행계를 시작하게 된다.

버튼 Stop을 누르면 보행계가 멈추면서 reset 이 일어난다.
한편 보행 데이터는 보행계로부터 체크한 보행 수 (walkSteps)를 lblWalkingSteps 라벨에 출력하고 보행 거리를 계산하여 lblElapsedDistance 라벨에 출력한다.

보폭은 사람마다 다르므로 각자 10 걸음 정도 측정해서 0.3∼0.4m 사이의 평균 보폭을 사용하면 된다.

다음은 블록에서의 편집과정의 일부이다. 퍼즐게임과 마찬가지이다. 왼쪽 Tree 요소를 클릭하여 퍼즐 조각을 찾아 맞추도록 한다.

 

 

퍼즐이 다 맞춰진 결과이다. 디자이너로 넘어가 저장 후 일차적으로 QR 스캐닌하여 제대로 실행되는지 확인한다. 완성이 되었으면 앱을 설치하도록 한다.