2017-04-09 11 views
0

モバイルデバイスは、風景モードかポートレートモードかをどのように判断するのですか?Arduinoで「風景」と「ポートレート」の向きを決める

同じセンサーが利用可能であると仮定すると、Arduinoボードで同じ機能を複製することは可能でしょうか?

例えば、下図ボードは風景あろうと90degによって回転する場合には肖像あろう。

enter image description here

答えて

0

この記事では、関連するコードスニペットは、Objective-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の両方がゼロでない場合、atan2(y、x)は平面の正のx軸とpoの間の角度です指定された座標で指定されたint角度は、反時計回りの角度に対して正であり、時計回りの角度に対して負である。

関連する問題