マイクロビット(m_05)microbit.accelerometer
accelerometer
「microbit」モジュールには「display, Image, button_a, button_b, accelerometer, compass,pin0, pin1, pin2, pin3, pin4 pin5, pin6, pin7, pin8, pin9, pin10, pin11, pin12,pin13, pin14, pin15, pin16, pin19, pin20,i2c, spi, uart, panic, reset, running_time, sleep, temperature」の関数などがあります。
※「microbit」モジュールを「from microbit import *」でインポートした前提で記載しています。
(04)microbit.accelerometer
micro:bitのボードに搭載されている加速度センサーにアクセスします。認識できるジェスチャーがあります。
デフォルトで MicroPython は加速度センサーの測定範囲を +/- 2g に設定しています。
「accelerometer」には「get_x()、get_y()、get_z()、get_values()、current_gesture()、is_gesture(name)、was_gesture(name)、get_gestures()」の関数があります。
認識できるジェスチャーは「up, down, left, right, face up, face down, freefall, 3g, 6g, 8g, shake」があります。
(04-1)get
加速度センサーは、各軸について 0~1024 の範囲の値を返します。
get_x()
get_y()
get_z()
#micro:bitを平地に上向きに置いた状態
>>> from microbit import *
>>> accelerometer.get_x()
16
>>> accelerometer.get_y()
16
>>> accelerometer.get_z()
-1024
(04-2)get_values()
各軸の加速度センサーの値を得ます。
#micro:bitを平地に上向きに置いた状態
>>> accelerometer.get_values()
(16, 16, -1024)
(04-3)current_gesture()
現在のジェスチャーの名前を返します。認識できるジェスチャーは “up”, “down”, “left”, “right”, “face up”, “face down”, “freefall”, “3g”, “6g”, “8g”, “shake”です。ジェスチャーは文字列で表されます。
#micro:bitを上向き(face up)に置いた状態
>>> accelerometer.current_gesture()
'face up'
(04-4)was_gesture(name)
microbit.accelerometer.was_gesture(name)
前回の呼出し以降に指定した名前のジェスチャーが認識されたかにより True または False を返します。
#現在のジェスチャーは'up'
>>> accelerometer.current_gesture()
'up'
#ジェスチャー'up'を確認
>>> accelerometer.was_gesture('up')
True
#ジェスチャー'face up'を確認、履歴があったのでTrueになっている
>>> accelerometer.was_gesture('face up')
True
>>>
(04-5)get_gestures()
ジェスチャーの履歴をタプルで返します。
タプルは古い順に並び、最新のものが最後の要素になります。呼出し後、履歴はクリアされます。
#ジェスチャーの履歴を表示
>>> accelerometer.get_gestures()
('face down', 'left', 'face up', 'face down')
#呼び出しされたので履歴はクリアされている
>>> accelerometer.get_gestures()
()
まとめ
microbitモジュールのaccelerometerについて記載しました。microbit.accelerometerはmicro:bitのボード上でI2c接続されている加速度センサー(MMA8653)に係わる関数です。機会があればMMA8653のレジスタからデータ読出しする記事を記載したいと思います。