うちの子Ver.1.1

NewbornクラスにSensorListenerを追加しました。
眠い時はZ軸方向加速度を与えてやると寝ます。
値の絶対値が閾値より小さいと例外発生します。



@Override
public void onSensorChanged(SensorEvent event) {
// 眠い時のみ発動
if ( this.state == STATE_SLEEPY ) {
// 加速度センサー
if ( event.sensor.getType() == Sensor.TYPE_ACCELEROMETER ) {
// Z軸方向のみ対象です
float z = event.values[SensorManager.DATA_Z];

// 閾値を超えないとやり直し
if ( Math.abs(z) < THRESHOLD )
{
sleepy = 0;
throw new HumanException(OUTPUT_CRY);
}
else
{
// 一定回数閾値を超え続けると寝ます
sleepy++;
if ( sleepy > SLEEPY_THRESHOLD )
{
setState(STATE_SLEEPED);
}
}
}



結構感度高いです。

コメント

このブログの人気の投稿

Joinノードを使う(その1)

Execノードを使う

Joinノードを使う(その4)