ID : 7318
GetAccelometer
機能
COBOTTAに加わった加速度の累積情報を取得します。
このコマンドはVer.2.7.*から有効です。
構文
GetAccelometer
戻り値
COBOTTAに加わった閾値以上の加速度 (以下、閾値以上の加速度)の累積情報をバリアント(Variant)型で返します。
| 要素番号 | 内容 |
|---|---|
| 0 | 1秒以内に加わった閾値以上の加速度の回数が、整数型で格納されます。 |
| 1 | 1秒以内に加わった閾値以上の加速度の中で、一番大きな加速度(G[重力加速度])が、倍精度実数型で格納されます。 |
解説
COBOTTAに加わった加速度の累積情報を取得します。
閾値以上の加速度がCOBOTTAに加わった回数
0.5G以上の加速度がCOBOTTAに加わってから、1秒以内に再度COBOTTAに0.5G以上の加速度が加わった回数をカウントします。
ただし、閾値以上の加速度が加わってから、再度0.05秒以内に閾値以上の加速度が加わった場合はカウントしません。
例えば、下の図の場合は3回と判定します。

また、1秒以内に加速度を加えた後、再度1秒以内に加速度を加えると、あとから加えた加速度の累計情報が上書きされます。
例えば、下の図のタイミングでGetAccelometerを実行すると回数は4となります。

閾値以上の加速度がCOBOTTAに加わった時の最大の加速度
1秒以内に加わった閾値以上の加速度の中で、最大の加速度(G[重力加速度])を返します。
例えば、下の図のタイミング1でGetAccelometerを実行した場合、最大の加速度は0.8Gとなります。

また、加速度の回数と同様に、あとから加えた加速度の累計情報が上書きされます。
例えば上の図のタイミング2でGetAccelometerを実行した場合、最大の加速度は0.7Gとなります。
関連項目
注意事項
このコマンドの機能自体は、安全機能に含まれていません。
ご使用の際は、リスクアセスメントを実施し、安全に運用できるような対策をしてください。
用例
'!TITLE "閾値以上の加速度が3回以上加わった時の最大の加速度(G)をD0に入れる"
Sub Main
Dim sensorValue As Variant
Do While 1
ClearAccelometer '加速度の累計情報を0にクリア
Do While 1
sensorValue = GetAccelometer '加速度の累計情報を取得
If sensorValue( 0 ) > 2 Then '2回より多く閾値以上の加速度が加わった場合
D0 = sensorValue( 1 ) '閾値以上の加速度の中で、最大の加速度
Exit Do
End If
Loop
Delay 1
Loop
End Sub
ID : 7318

