한국어

Programming

twin 주소복사
조회 수 1046 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

앱 인벤터에서 제공하는 센서 중 방향센서(Orientation Sensor)가 있습니다. 이 센서로 세 가지 각도를 측정하여 보내주는데, <그림 1>에서 보는 것처럼 방위각(Azimuth), 피치(Pitch), 롤(Roll)입니다.
 

방향센서(OrientationSensor)의 값
Azimuth(방위각) – 북쪽을 기준으로 시계방향으로 스마트폰이 가르치는 각도
Pitch(피치) – 스마트폰이 위아래 방향으로 기울어진 각도
Roll(롤) – 스마트폰이 옆 방향으로 기울어진 각도
<그림 1> 방향센서의 OrientationChanged 이벤트

이 센서 값을 이용하여 다양한 프로그램이 가능한데, 오늘은 방위각을 사용하는 나침반을 만들어보겠습니다.

먼저 디자인은 <그림 2>와 같습니다. 움직이거나 회전하는 이미지는 캔버스 안에 이미지스프라이트를 넣어서 만듭니다. 캔버스의 Width와 Height는 Fill Parent로 설정합니다. 화면 맨 아래에 세가지 각도를 표시하기 위해 Label을 하나 위치시킵니다. 눈에 보이지 않는 콤포넌트로 OrientationSensor를 넣어줍니다.

이미지스프라이트의 이름을 Compass로 하고 Picture 속성을 나침반 이미지 파일로 세팅합니다. 나침반의 이미지는 구글이미지나 Iconfinder.com 에서 찾아서 씁니다. 저는 이미지를 https://apkapk.website/Download-Find-Direction-Without-Compass-Apk-Latest-Version-for-android/ 에서 가져왔습니다. 이렇게 이미지를 무료로 가져다 쓸 수 있다는게 고마울 뿐이죠.
 

<그림 2> 나침반 앱의 디자인 화면
 

블록코딩으로 갑니다.

<그림 3> 블록 코딩

1. 스크린이 초기화될 때 Compass를 캔버스의 중심에 위치 시킵니다. 
2. 방향이 바뀌면 OrientationSensor가 OrientationChanged 이벤트를 발생시킵니다. 이때 Compass의 Heading을 azimuth, 즉 방위각으로 설정해주면 됩니다.
3. 방위각, 피치, 롤의 값을 수치로 확인하기 위해 레이블에 출력합니다.

다음은 프로그램의 실행 화면을 캡쳐한 그림입니다.
 

<그림 4> 나침반 앱의 실행화면

방향센서를 사용하니 순식간에 자작 나침반이 완성되었네요. 등산할 때나 여행할 때 사용하면 좋을 듯...


List of Articles
번호 제목 글쓴이 날짜 조회 수
» [앱인벤터] 방향센서와 나침반  twin 2018.08.27 1046
30 [앱인벤터] 리스트를 이용하여 녹음이 되는 실로폰  twin 2018.08.27 5350
29 [앱인벤터] 내가 만든 앱을 구글 플레이스토어에 등록하는 방법  twin 2018.08.27 720
28 [앱인벤터] Sound를 이용한 실로폰 앱  twin 2018.08.27 985
27 [앱인벤터] ListPicker와 WebViewer를 이용한 내가 즐겨찾는 사이트 앱  twin 2018.08.27 2783
26 [앱인벤터] Camera & Share, 사진찍고 메모해서 공유하기  twin 2018.08.27 915
25 [앱인벤터] App Inventor 2 Tips  twin 2018.08.27 1355
24 [앱인벤터] ActivityStarter 액티비티 스타터를 사용한 여행앱  twin 2018.08.27 1651
23 [앱인벤터2] 캔버스와 이미지스프라이트, Bouncing Ball 예제  twin 2018.08.27 1122
22 [앱인벤터2] 아날로그 시계 만들기  twin 2018.08.27 2971
21 [앱인벤터2] 말하는 Hello World 앱  twin 2018.08.27 1525
20 [앱인벤터2] 두 개의 스크린 사이의 값 전달, 구구단 예제  twin 2018.08.27 4223
19 [앱인벤터2] Slider를 사용하는 타이머  twin 2018.08.27 2186
18 [앱인벤터2] PasswordTextBox와 TinyDB를 사용한 PIN 번호 체크  twin 2018.08.27 3036
17 [앱인벤터2] Extension(확장기능)을 사용한 깜박이는 플래시라이트  twin 2018.08.27 2137
16 [앱인벤터2] Clock 센서, 디지털 시계  twin 2018.08.27 3723
15 [앱인벤터2] BMI 계산기  twin 2018.08.27 1353
14 [앱인벤터2 강좌] 폭탄 돌리기  twin 2019.09.17 1496
13 [앱인벤터2 강좌] 만보기앱, Pedometer 센서  twin 2018.08.27 1468
12 [앱인벤터2 강좌] 나침반과 센서  twin 2018.08.27 842
Board Pagination Prev 1 2 3 Next
/ 3