【embotでプログラミングを学ぼう⑤-2】時刻や位置をプログラムの材料にする:課題編
目次
- 【embotレベル】3
- 【プログラムの技】タブレットの情報を使う
- 【主に使うプログラム】タブレット(時刻、方角、位置、ジャイロ)
解説編で知った新しいプログラムの技を使って、次の課題に挑戦してみましょう。
タブレットを傾けてembotの手の向きをコントロール
タブレットの傾きを変えるとembotの手の向きが変わるプログラムを作りましょう。
タブレットの傾きは「ジャイロ(傾き)」のX、Y、Zの値で表しますが、この課題ではYの値だけを使います。Yは、タブレットを机に置いた状態が0で、画面が右側に垂直になるように傾けると90になり、左側に垂直になるように傾けると90になります。
embotの手は、サーボモーターの角度を指定して動かします。
サーボモーターの角度を、「ジャイロ(傾き)」のYの値にすれば、タブレットの傾きでembotの手の角度をコントロールできそうですね。
プログラムの解説
フローチャートの画面で[start][function][end]のブロックを1個ずつ置いてつなぎます。配置した[function]をタップしてプログラムを編集します。
[function]のプログラムは次の図の通りです。
サーボ1とサーボ2の角度を0°にして、1秒待ち、サーボ1とサーボ2の角度を「ジャイロY」の値にします。
これで、課題のプログラムは完成です。
フローチャートの画面に戻ってプログラムを実行してみましょう。ここでは、シミュレーターで動きを確かめます。
タブレットを右側に傾けてシミュレーターの[start]ボタンを押してください。タブレットを傾けた角度と同じ角度だけembotの手が動くことが確認できます。何度か違う角度で試してみると違いがわかります。
次の図では、タブレットを右側に50°傾けてからプログラムを実行したので、手の向きも50°になりました。[ジャイロY]の値を確認したいときは、アイコンをタップすると吹き出しで表示されます。
タブレットの傾きが小さければ手の角度も小さくなり、大きければ手の角度も大きくなります。左側に傾けると[ジャイロY]の値がマイナス(-)になるので、手は動きません。
このプログラムを、タブレットの角度を変えて何度も実行した動画です。
まとめ
タブレットの情報をプログラムの材料に使うといろいろな仕組みを作ることができます。
今回はタブレットから得た情報をそのまま角度として使いましたが、別の技と組み合わせるとさらに面白い仕組みを作ることができます。お楽しみに!