본문 바로가기
앱인벤터/앱인벤터 컴포넌트

앱인벤터 가속도센서 컴포넌트

by flycoding 2022. 4. 29.
반응형

앱인벤터 가속도센서 컴포넌트

 

앱인벤터의 컴포넌트들을 이해와 실제 예제를 통해 실습을 통해 모바일 앱 개발에 활용도를 높이고자 한다.

이번 시간에는 앱인벤터의 가속도센서 컴포넌트를 활용하여 기기가 흔들릴 때 기기의 중력 가속도의 값을 가져오는 컴포넌트이다. 스마트폰에서 가속도센서를 사용하는 예제로는 디스플레이를 가로 모드 혹은 세로 모드로 화면 회전할 때 가속도센서를 활용한다. 또는 자동차 게임할 때 좌, 우로 각도를 기울이며 자동차 방향을 정할 때에도 가속도센서를 활용한다.

가속도는 이동하는 물체의 가속도나 충격의 세기를 측정하는 센서이다. 가속도센서는 X축, Y축, Z축 저오를 처리하여 물체의 가속도, 진동, 충격 등의 동적 힘을 측정하는 것으로 물체의 운동 상태를 감지할 수 있으므로 활동분야가 아주 넓다.

 

. 가속도 컴포넌트

팔레트의 센서 부분에서 가속도 컴포넌트는 보이지 않는 컴포넌트로, 뷰어에 drag&drop하면 화면에는 아무것도 표시되지 않으며 아래에 보이지 않는 컴포넌트에 표시된다.

 

팔레트

가속도 컴포넌트는 '센서'에 있다. 가속도 컴포넌트를 오른쪽 뷰어에 Drag&Drop하면 추가된다. 본 예제에서는 가속도센서 컴포넌트를 활용하여 볼 컴포넌트를 움직이는 예제와  x, y, z축 값을 레이블에 출력하는 예제를 작성해보조가 한다.

. x , y, z 축 이름 출력 레이블과 x, y, z축 값 출력 레이블 등 총 6개의 레이블과 수평배치 컴포넌트 3개를 추가한다.

 

 

뷰어

컴포넌트들을 추가했을 때, 기본적으로 사각형이 뷰어 화면에 출력된다.

뷰어에는 캔버스 컴포넌트와 볼 컴포넌트로 구성되어 있다.

스마트폰을 동서남북 기울이면 볼이 방향에 따라 움직이는 예제를 만들어보자.

 

 

 

컴포넌트

 

컴포넌트에는 Screen1아래에 볼 컴포넌트, 캔버스 컴포넌트 그리고 방향을 감지하는 자이로센서 컴포넌트로 구성된다.

- 가속도센서 컴포넌트

- 캔버스 컴포넌트

- 공 컴포넌트

- 'x : ' 레이블 컴포넌트

- x축 값 레이블 컴포넌트 : 초기값을 'null'

- x축 2개의 레이블을 수평 배치하는 수평배치 컴포넌트

- 'y : ' 레이블 컴포넌트

- y축 값 레이블 컴포넌트 : 초기값을 'null'

- y축 2개의 레이블을 수평 배치하는 수평배치 컴포넌트

- 'z : ' 레이블 컴포넌트

- z축 값 레이블 컴포넌트 : 초기값을 'null'

- z축 2개의 레이블을 수평 배치하는 수평배치 컴포넌트

 

 

앱인벤터 가속도센서 컴포넌트 활용 예제

 

가속도센서 속성값

가속도센서 속성값에는 활성화, 기존연결방식사용, 최소간격, 민감도 속성값이 있다.

. 활성화 속성값은 참/거짓 값으로 활성/비활성을 설정한다.

. 기존연결방식사용 : 이 속성을 추가한 릴리스 이전에 가속도계 센서 구성 요소는 Android 시스템에서 수신한 센서 값을 직접 활용했습니다. 그러나 이러한 값은 기본적으로 가로 모드로 설정된 태블릿에 대해서는 보정되지 않으므로 MIT App Inventor 프로그래머가 보정해야 합니다. 이에 기존의 레거시 모드를 사용할 경우에는 참값을 ,만일 테블릿에 가속도센서 값을 보정하여 사용할 경우에는 레거시 모드를 거짓값으로 설정하여 사용한다.

. 최소간격 : 스마트폰이 흔들림 이벤트가 발생하는 것을 감지하는 간격 값을 설정하는데 기본값은 400msec이다. 일단 스마트폰에서 흔들림을  감지하였다면 최소간격 내의 흔들림을 무시하고 최소간격 값이 지난 후에 감지한다.

. 민감도 : 가속도의 민감도를 설정하는 속성값이다. 약함(1), 보통(2), 강함(3)의 값을 설정할 수 있다. 가속도의 흔들림의 세기 정도를 설정하여 흔들림 이벤트를 발생할 것인지를 조절할 수 있다.

 

앱인벤터 가속도센서 컴포넌트 속성값

 

 

가속도센서 컴포넌트 이벤트 블럭들

. 가속도센서 컴포넌트 가속도가변화했을때 블럭

x, y, z값이 변화가 되었을때 가속도가 변화되었다고 알려주는 이벤트 블럭이다.

인자값으로 x가속도, y가속도, z가속도값을 받는다.

 

앱인벤터 가속도센서 컴포넌트 가속도가변화했을때 블럭

 

. 가속도센서 컴포넌트 흔들렸을때 블럭

스마트폰이 흔들렸을때 호출되는 블럭이다. 흔들렸을때 기준은 민감도와 최소간격 주기에 맞추어서 기기에서 감지하여 호출한다.

 

앱인벤터 가속도센서 컴포넌트 흔들렸을때 블럭

 

가속도센서 컴포넌트 호출 블럭들

 

NONE

 

가속도센서 컴포넌트 가져오기/지정하기 블럭들

 

. 가속도센서 컴포넌트 활성화 블럭

가속도센서를 활성/비활성을 참/거짓 값으로 지정하거나 현재 활성/비활성값을 가져오는 블럭이다.

 

앱인벤터 가속도센서 컴포넌트 활성화 블럭

 

 

. 가속도센서 컴포넌트 최소간격 블럭

가속도센서에 흔들렸을때 블럭을 호출하는 간격을 지정하거나 최소간격값을 가져오는 블럭이다.

기본값으로는 400msec이다.

 

앱인벤터 가속도센서 컴포넌트 최소간격 블럭

 

 

. 가속도센서 컴포넌트 민감도 블럭

가속도센서에서 센서의 민감도를 3단계, 약함, 보통, 강함 세기로 설정할 수 있다.

 

앱인벤터 가속도센서 컴포넌트 민감도 블럭

 

. 가속도센서 컴포넌트 X, Y, Z가속도 블럭

 

앱인벤터 가속도센서 컴포넌트 X, Y, Z가속도 블럭

 

이상으로 앱인벤터 가속도 컴포넌트 블럭에 대해 간략히 살펴보았다. 좀더 자세히 확인하기 싶으면, 가속도센서 예제 앱을 통해 블럭들을 하나씩 사용해보면서 블럭의 활용 용도 등을 파악하면 좋을 것 같다. 눈으로 보는 것보다 직접 해보는게 여러모로 코딩하는데 이해하고 코딩 실력이 향상되는데 도움이 된다.

 

Just Do it!!!

Just Drag&Drop!!!

 

 

 

. 가속도센서 컴포넌트 활성화 블럭

가속도센서를 활성/비활성을 참/거짓 값으로 지정하거나 현재 활성/비활성값을 가져오는 블럭이다.

 

 

 

 

. 가속도센서 컴포넌트 최소간격 블럭

가속도센서에 흔들렸을때 블럭을 호출하는 간격을 지정하거나 최소간격값을 가져오는 블럭이다.

기본값으로는 400msec이다.

 

 

 

. 가속도센서 컴포넌트 민감도 블럭

가속도센서에서 센서의 민감도를 3단계, 약함, 보통, 강함 세기로 설정할 수 있다.

 

 

 

. 가속도센서 컴포넌트 X, Y, Z가속도 블럭

 

 

반응형

댓글