Skip to main content
Version: 2.1.0

モーションセンサー

キューブはモーションセンサー(6 軸検出システム)によってキューブの姿勢や衝突などの状態情報を検出できます。 これらの情報は以下の特性(characteristic)を使うことで取得できます。

プロパティ
Characteristic UUID10B20106-5B3B-4571-9508-CF3EFCD7BBAE
PropertiesRead, Notify
DescriptorSensor Information

読み出し操作

検出

キューブのモーションセンサーの情報を以下に示す構成のデータで取得できます。

データ位置タイプ内容
0UInt8情報の種類0x01(検出)
1UInt8水平検出0x00(水平ではない)
2UInt8衝突検出0x00(衝突なし)
3UInt8ダブルタップ検出0x00(ダブルタップなし)
4UInt8姿勢検出0x01(正位置)

水平検出

キューブが水平な時は0x01(水平)、キューブが一定の角度(下図の θ)より傾いた時に0x00(水平ではない)になります。角度のしきい値については設定 - 水平検出のしきい値設定で設定可能です。

Flat Status Threshold - Roll

ロール方向

Flat Status Threshold - Pitch

ピッチ方向

衝突検出

キューブと何かが衝突したときに0x00(衝突なし)から0x01(衝突あり)に変わります。 検出される衝突の大きさのしきい値については設定 - 衝突検出のしきい値設定で設定可能です。

ダブルタップ検出

キューブが一度タップされてから一定時間内に再度タップされると、0x00(ダブルタップなし)から0x01(ダブルタップあり)に変わります。タップの時間間隔は設定 - ダブルタップ検出のしきい値設定で設定可能です。また、検出するタップの強さは設定 - 衝突検出のしきい値設定の設定と同じです。

姿勢検出

キューブの水平面に対する姿勢が変化したときに値が変わります。それぞれ値と姿勢の関係は以下のとおりです。

キューブの姿勢
1天面が上
2底面が上
3背面が上
4正面が上
5右側面が上
6左側面が上

Cube Posture (Normal and Up-side down)

キューブの姿勢: 左から1: 天面が上2: 底面が上

Cube Posture (Front-side down and Back-side down)

キューブの姿勢: 左から3: 背面が上4: 正面が上

Cube Posture (Left-side down and Right-side down)

キューブの姿勢: 左から5: 右側面が上6: 左側面が上

通知

キューブのモーションセンサーの情報が変化すると、この特性は BLE セントラルに情報を通知します。 通知される情報の内容とデータの構造は読み出し操作で得られるものと同じです。