앱 인벤터2 - 센서 팔레트 구성 요소
본문 바로가기

용어 정리, 이슈/과학&기술

앱 인벤터2 - 센서 팔레트 구성 요소

728x90

1. 스마트폰의 센서

스마트폰은 기존의 전화기와는 다르게 센서를 가지고 있다. 이 스마트폰의 센서는 시각이나 청각, 촉각 등 사람이 가진 감각기관과 같은 역할을 하며, 그래서 이런 센서들을 통해  위치나 방향, 온도나 습도, 특정 대상과의 거리와 같은 주변 상황을 감지하는 데 주로 활용되고 있다. 

 

아래는 스마트폰의 몇몇 센서들을 인간의 감각기관에 비추어 분류한 폰이다. 실제로 저 센서 외에도 많은 센서들이 있고, 또 분류 기준은 다양하니 대략 이런 센서는 이런 신체 기능과 유사하구나 정도로 받아들이면 좋을 것 같다.

스마트폰 센서 시각 센서 이미지센서
RGB 센서
조도 센서
촉각 센서
압력 센서
터치 센서
근접 센서
제스처 센서
기압 센서
온도/습도 센서
움직임 인식 센서 홀 센서
지자기 센서
가속도 센서
자이로 센서
(자이로스코프 센서)

이러한 센서들은 당연히 앱 인벤터2에도 있는데, 센서 팔레트 내부에 정리되어 있다. 이제 앱 인벤터2에 어떤 센서 컴포넌트가 있는지 알아보자.

 

2. 앱 인벤터2에서의 센서 팔레트 구성 요소

앱 인벤터에서의 그리기&애니메이션 팔레트에 포함된 컴포넌트는 총 14개로, 가속도센서 컴포넌트, 바코드스캐너 컴포넌트, 기압계(barometer) 컴포넌트, 시계 컴포넌트, 자이로센서 컴포넌트, 습도계(hygrometer) 컴포넌트, 광센서(lightsensor) 컴포넌트, 위치센서 컴포넌트, 자기장센서(magneticfieldsensor) 컴포넌트, NFC 컴포넌트, 방향센서 컴포넌트, 만보기 컴포넌트, 근접센서 컴포넌트, 온도계(thermometer) 컴포넌트가 포함된다. 이 모든 센서 컴포넌트는 보이지 않는 컴포넌트라는 특징이 있다.

 

1. 가속도센서 컴포넌트

가속도센서 컴포넌트SI 단위(m/s2)를 사용해 3차원에서 대략적인 떨림을 감지하고 가속도를 측정할 수 있는 센서 컴포넌트를 말한다.

디자이너에서는 가속도센서의 활성화 및 기존 연결 방식 사용 여부, 최소간격, 민감도를 정할 수 있다.

블록에서는 흔들림이 감지되거나 해당 가속도가 X, Y, Z 가속도에서 어떻게 변화할 때 어떤 값을 어떻게 지정할지를 정할 수 있다. 여기선 호출 블록을 제외한 이벤트 블록, 지정 블록, 속성 블록만 쓸 수 있다.

 

2. 바코드스캐너 컴포넌트

바코드스캐너 컴포넌트 바코드 스캐너를 사용해 바코드를 읽을 수 있는 센서 컴포넌트다.

디자이너에서는 내장된 바코드 스캐너의 사용 여부를 정할 수 있다.

블록에서는 바코드 스캐너 호출 여부, 바코드 스캐너의 스캔 후 어떤 값을 어떻게 지정할지를 정할 수 있다. 여기선 이벤트 블록, 호출 블록, 지정 블록, 속성 블록 모두 쓸 수 있다.

 

3.기압계(barometer) 컴포넌트

기압계 컴포넌트주변의 기압(air pressure)을 측정할 수 있는 센서 컴포넌트다.

디자이너에서는 새로고침(refresh) 시간와 활성화 여부를 설정할 수 있다.

블록에서는 기압계가 실행된 뒤 어떤 값을 어떻게 지정할지를 정할 수 있다. 여기선 호출 블록을 제외한 이벤트 블록, 지정 블록, 속성 블록만 쓸 수 있다.

 

4. 시계 컴포넌트

시계 컴포넌트스마트폰의 내부 시계를 사용하여 현재의 시간을 제공하거나 타이머 역할을 하는 컴포넌트로, 통상적으로 센서라고 보진 않지만,  앱 인벤터2에서는 센서 컴포넌트로 분류했다.

디자이너에서는 타이머 간격 및 타이머 항상작동 및 활성화 여부를 정할 수 있다.

블록에서는 어떤 시계 컴포넌트의 어떤 부분 항목을 호출할지, 타이머가 작동하면 어떤 값을 어떻게 지정할지를 정할 수 있다. 여기선 이벤트 블록, 호출 블록, 지정 블록, 속성 블록 모두 쓸 수 있다.

블록에서 알아야 할 부분이 있다. 날짜형식으로 바꿔 시계를 호출하는 경우(FormatDate), 기본적으로 'MMM, d, yyyy' 형식으로 뜨는데, 여기서 M은 월(month), d는 일(day), 그리고 y는 년(year)을 뜻한다.

 

그리고 날짜시간형식으로 바꿔 시계를 호출하는 경우(FormatDateTime), 기본적으로 'MM/dd/yyyy hh:mm:ss a'라고 뜬다. 여기서  h는 시(hour), m은 분(minute), s는 초(second)를 뜻한다. 마지막의 a는 오전/오후 표시(Am/pm marker)를 말한다. 즉, a라고 쓰여 있으면 오전인지 오후인지 표현해줄 수 있다는 뜻이다.

 

5. 자이로센서 컴포넌트

자이로센서 컴포넌트 스마트폰의 자이로스코프 센서로부터 데이터를 제공하는 센서 컴포넌트로, 기존의 가속도 센서의 각 축에 회전을 추가해 좀 더 정밀한 동작을 감지할 수 있게 하는 센서 컴포넌트다. 이 센서 컴포넌트는 앱 인벤터2에서 추가되었다.

디자이너에서는 자이로센서 활성화 여부를 정할 수 있다.

블록에서는 자이로센서의 자이로스코프가 변경된 이벤트가 발생했을 때 어떤 값을 어떻게 지정할지를 정할 수 있다. 여기선 호출 블록을 제외한 이벤트 블록, 지정 블록, 속성 블록만 쓸 수 있다.

 

6. 습도계(hygrometer) 컴포넌트

습도계 컴포넌트 상대적인 인근 습도를 측정할 수 있는 컴포넌트다.

디자이너에서는 새로고침(refresh) 시간와 활성화 여부를 설정할 수 있다.

블록에서는 습도계가 실행된 뒤 어떤 값을 어떻게 지정할지를 정할 수 있다. 여기선 호출 블록을 제외한 이벤트 블록, 지정 블록, 속성 블록만 쓸 수 있다.

 

7. 광센서(lightsensor) 컴포넌트

광센서 컴포넌트 빛의 광도를 측절할 수 있는 센서 컴포넌트다.

디자이너에서는 활성화 및 새로고침(refresh) 작동 여부를 설정할 수 있다.

블록에서는 광센서가 실행된 뒤 어떤 값을 어떻게 지정할지를 정할 수 있다. 여기선 호출 블록을 제외한 이벤트 블록, 지정 블록, 속성 블록만 쓸 수 있다.

 

8. 위치센서 컴포넌트

위치센서 컴포넌트 위도, 경도, 고도, 주소 및 속도를 포함한 위치 정보를 제공하는 센서 컴포넌트다. 기존의 방향센서 컴포넌트에 속도를 읽어들이는 기능이 추가되었다고 봐도 무방하다.

디자이너에서는 거리 및 시간 간격, 활성화 여부를 설정할 수 있다.

블록에서는 위치센서 실행된 뒤 어떤 값을 어떻게 지정할지, 어디에서 위치센서의 어떤 정보를 호출할지를 정할 수 있다. 여기선 이벤트 블록, 호출 블록, 지정 블록, 속성 블록 모두 쓸 수 있다.

 

9. 자기장센서(magneticfieldsensor) 컴포넌트

자기장센서 컴포넌트 스마트폰의 자기장 센서를 이용해 주변 지자기장을 측정하는 센서 컴포넌트다.

디자이너에서는 활성화 여부를 설정할 수 있다.

블록에서는 스마트폰과 다른 사물과의 거리가 바뀌면 '자기 변경(MagneticChanged)'이라는 이벤트가 발생되는데, 이런 경우 어떤 값을 어떻게 지정할지를 정할 수 있다. 여기선 호출 블록을 제외한 이벤트 블록, 지정 블록, 속성 블록만 쓸 수 있다.

10. NFC 컴포넌트

NFC 컴포넌트 스마트폰에서 제공하는 가까운(near) 거리의 장(field)에서 다양한 무선 데이터를 주고 받는 통신(communication)인 NFC(근거리 무선 통신) 기능을 제공하는 컴포넌트다.

디자이너에서는 읽기모드 실행 여부를 설정할 수 있다.

블록에서는 NFC 태그를 읽기나 작성 이벤트가 발생하면 어떤 값을 어떻게 지정할지를 정할 수 있다. 여기선 호출 블록을 제외한 이벤트 블록, 지정 블록, 속성 블록만 쓸 수 있다.

 

11. 방향센서 컴포넌트

방향센서 컴포넌트 스마트폰에서 제공하는 위도, 경도, 고도 및 주소를 포함하는 위치정보를 제공하는 센서 컴포넌트다. 이 컴포넌트를 작동시키기 위해서는 스마트폰 내 GPS 기능이 켜져있어야 한다.

디자이너에서는 방향센서 활성화 여부를 지정할 수 있다.

블록에서는 방향센서의 방향이 변경된 이벤트가 발생했을 때, 어떤 구성 요소를 어떻게 지정할 지를 정할 수 있다. 여기선 호출 블록을 제외한 이벤트 블록, 지정 블록, 속성 블록만 쓸 수 있다.

 

12. 만보기 컴포넌트

만보기 컴포넌트 걸음 수를 셀 수 있는 컴포넌트로, 이 기능을 통해 만보기 앱을 쉽게 만들 수 있다.

디자이너에서는 만보기의 정지감지시간, 보폭을 지정할 수 있다.

블록에서는 만보기가 걸음을 감지하는 이벤트가 발생했을 때, 어떤 구성 요소를 어떻게 지정할 지, 만보기를 어떻게 호출할 지를 정할 수 있다. 여기선 이벤트 블록, 호출 블록, 지정 블록, 속성 블록 모두 쓸 수 있다.

 

13. 근접센서 컴포넌트

근접센서 컴포넌트사물과 스마트폰의 뷰어 스크린과의 상대적인 근접도(proximity)를 측정하는 센서 컴포넌트다.

이 컴포넌트는 스마트폰과 다른 사물과의 거리가 바뀌면 '근접도 변경(ProximityChanged)'이라는 이벤트가 발생한다. 이 때 사물과의 거리는 해당 블록에 정의된 '거리'값으로 알 수 있다. 사물과 스마트폰이 일정 거리 이하로 가까워지면 그 거리값은 0이 된다.

 

여기서 NFC는 안테나를 사용해 통신을 목적으로 하는 기능을 제공하는 목적으로 만들어진 기술이며, 근접 센서는 단순히 사물과의 근접성을 측정하는 센서라는 점에서 차이가 있다.

디자이너에서는 활성화 및 백그라운드 작동 여부를 설정할 수 있다.

블록에서는 근접센서(proximity sensor)가 실행된 뒤 어떤 값을 어떻게 지정할지를 정할 수 있다. 여기선 호출 블록을 제외한 이벤트 블록, 지정 블록, 속성 블록만 쓸 수 있다.

 

14. 온도계(thermometer) 컴포넌트

온도계 컴포넌트스마트폰의 하드웨어에서 지원하는 주위의 기온을 측정할 수 있는 컴포넌트다.

디자이너에서는 활성화 및 새로고침(refresh) 작동 여부를 설정할 수 있다.

블록에서는 온도계가 실행된 뒤 어떤 값을 어떻게 지정할지를 정할 수 있다. 여기선 호출 블록을 제외한 이벤트 블록, 지정 블록, 속성 블록만 쓸 수 있다.

반응형