8 ディスプレイに傾きを表示させてみよう

加速度センサーの使い方



ここでは、加速度センサーを用います。ここで言う加速度とは「重力加速度」です。
傾きは三次元空間で起こっていますから、x,y,zのベクトルで表すことができます。
xとyの方向はBrainPadに書いてあります。z方向は上下方向です。
絶対値を計測しているようではないようです。


傾きを調べる
        private void main()
        {
            BrainPad.Display.Clear();
            while (true)
            {
                String x = BrainPad.Accelerometer.ReadX().ToString()+"0000";
                String y = BrainPad.Accelerometer.ReadY().ToString()+"0000";
                String z = BrainPad.Accelerometer.ReadZ().ToString()+"0000";
                BrainPad.Display.DrawString(10, 45, "x = " + x.Substring(0, 5),
                    BrainPad.Color.Cyan);
                BrainPad.Display.DrawString(10, 55, "y = " + y.Substring(0, 5),
                    BrainPad.Color.Cyan);
                BrainPad.Display.DrawString(10, 65, "z = " + z.Substring(0, 5),
                    BrainPad.Color.Cyan);
                Thread.Sleep(200);
            }
        }
 1 
 2 
 3 ディスプレイ消去
 4 永久ループ
 5 
 6 x方向ベクトルを計測し文字列にする
 7 y方向ベクトルを計測し文字列にする
 8 z方向ベクトルを計測し文字列にする
 9 xを表示
10 
11 yを表示
12 
13 zを表示
14 
15 200ミリ秒待つ
16 
17 


やってみよう
xがゼロになったら緑の信号LEDを200ミリ秒点灯させ、その後消灯するようにしてみましょう。
xがゼロというのは、平らになった場合です。