본문 바로가기
Android

Sensor - Gyro, Magno, Light, Pressure, Temp, Humi

by mangstory 2021. 3. 2.

지난 포스팅에 설명한 Accelerometer에 이어 또다른 센서들을 이용하여 간단한 앱 구현을 해볼 것이다.

 

 

 

1. Gyroscope

2. Magnetometer

3. Pressure

4. Light

5. Temperature

6. Humidity

 

 

 

 

 

[Gyroscope]

 

각속도센서. 공부하던 중 Gyroscope와 Accelerometer가 비슷한 센서라는 것을 느끼고 바로 그 둘의 차이를 구글링 해보았다.

겉보기엔 x,y,z축을 이용하여 기울기를 측정하는 것이 비슷해 보이는데 그 사이에는 미세한 차이가 있다.

설명이 잘 되어있는 블로그 링크를 가져와서 박고 싶지만 참는다.

 

나의 언어로 바꿔 정리할 것이야!

 

먼저 크게 보아, Accelerometer 센서는 직선방향, Gyroscope 센서는 곡선방향의 움직임을 감지할 수 있다. 따라서 Accelerometer은 움직임을 인지하는 것에 조금 한계가 있어보인다.(내 생각) Acceleromter센서는 꽈배기형태의 움직임은 인지할 수가 없다고 한다. 대신 Gyroscope 센서는 온도에 영향을 받기에 보정 후 다시 값이 측정되는 단점이 있다.

 

여기서 재밌는 것은 아이폰은 Gyroscope 센서가 기본탑재인 반면 안드로이드는 의무사항이 아니라고 한다!

(아이폰 단가가 좀 더 비싼 것에 이 친구도 한 몫을 한 듯하다.)

 

 

[Magnetometer]

 

지자기센서. 나침반센서라고도 불리며 주변의 자기장의 변화나 지구의 자기를 측정한다.

 

[Pressure]

 

고도,기압 센서. 공기의 압력을 측정한다.

 

[Light]

 

밝기센서. 스마트폰의 밝기를 측정한다.

 

[Temperature]

 

온도센서. 공기중의 온도를 측정한다.

 

[Humidity]

 

습도센서. 공기중 수증기의 양을 측정한다.

 

 

 

이제 코드를 작성해보겠다.

 

사용할 센서 종류를 미리 선언해준다.

 

각각의 TextView id를 가져오고

 

해당 센서에 대한 이벤트리스너를 등록한다.

null인지 확인하는 것은 디바이스가 해당 센서를 지원하는지 판단하는 데에 사용된다.

 

마찬가지로 나머지 센서에 대해서도 같은 형식으로 코딩해준다.(코드생략)

 

위 함수는 센서값이 바뀔 때마다 호출되기에 실시간으로 달라지는 센서값을 측정할 수 있다.

 

 

 

 

짠 완성!

 

이 기기는 온도,습도 센서는 지원하지 않나보다.

'Android' 카테고리의 다른 글

STT(Speech to text)  (1) 2021.05.20
Real Time Activity  (2) 2021.03.04
Sensor - Accelerometer  (3) 2021.02.25