2017-04-09 4 views
0

모바일 장치는 가로 모드인지 세로 모드인지를 어떻게 결정합니까?Arduino로 '풍경'과 '초상화'방향을 결정하십시오.

동일한 센서를 사용할 수 있다면 Arduino 보드에서 동일한 기능을 복제 할 수 있습니까?

예를 들어, 아래 그림 보드는 풍경 것 및 90DEG에 의해 회전 경우는 세로 될 것이다.

enter image description here

답변

0

이 문서는 관련 코드는 목표 - C에서 제공되는 모든 세부 https://www.safaribooksonline.com/library/view/basic-sensors-in/9781449309480/ch04.html

에 대해 설명하지만, 쉽게 번역 할 수 있습니다 무엇이든 당신이 필요합니다

float x = -[acceleration x]; 
float y = [acceleration y]; 
float angle = atan2(y, x); 

if(angle >= −2.25 && angle <= −0.75) { 
    //OrientationPortrait 
} else if(angle >= −0.75 && angle <= 0.75){ 
    //OrientationLandscapeRight 
} else if(angle >= 0.75 && angle <= 2.25) { 
    //OrientationPortraitUpsideDown 
} else if(angle <= −2.25 || angle >= 2.25) { 
    //OrientationLandscapeLeft]; 
} 

설명 : 실제 인수 x와 y가 모두 0이 아닌 경우 atan2 (y, x)는 평면의 양의 x 축과 점의 양 지정된 좌표로 주어진 int. 각도는 반 시계 방향 각도에서는 양수이고 시계 방향 각도에서는 음수입니다.