以前レビューした「embot+ スターターキット」にはセンサー類を3つまで接続することができます。
今回はその中の一つ「ジョイスティック」の詳しい使い方を解説します。
▼本記事の内容
- 【embot+】ジョイスティックの使い方
ジョイスティックはゲーム機のコントローラーなどに使われてますよね。
スティックの動きとロボットの動きを連携させることで直感的にロボットを操作できるようになりますよ。
【embot+】ジョイスティックの使い方
embot+コアとジョイスティックの接続
まずはembot+コアにジョイスティックを接続してembotアプリで使用できるように設定します。
詳しい設定方法は「embot+に別売りのセンサー類を接続する方法と簡単な使い方解説」をご覧ください。
ジョイスティックの仕組み・仕様
ジョイスティックはどれくらいスティックを倒したのか3方向(X軸、Y軸、Z軸)でわかるようになっています。具体的には次のとおりです。
▼左右、前後に倒したとき:X軸、Y軸
これはそれぞれの方向を0~255の256段階で表しているという意味です。中途半端な数字に感じるかもですが、コンピューターの世界ではキリがいい数字なんです!
▼押したとき:Z軸
スティック自体が押しボタンになっています。押したか押していないかの2種類を区別するだけなので、0と1の2パターンで表現します。
ジョイスティックで得られる値
それでは簡単なプログラムを作ってジョイスティックで得られる値を確認しましょう。
下記はジョイスティックを倒すとX軸、Y軸、Z軸の値を表示するプログラムです。
ログの区切りとして「———-」を表示すると見やすいですよ。
プログラムの実行結果は次のとおりです。
ジョイスティックを色々動かしてみて実際の値を確認してみてください。
ジョイスティックを活用したプログラム例
最後にジョイスティックを倒した量によってロボットの左腕を動かすプログラムを作ります。
つまり、ジョイスティックの位置と左腕の角度を次のようにしたいわけです。
ジョイスティックの位置 | 一番左 | ~ | 中央 | ~ | 一番右 |
ジョイスティックの値 | 255 | ~ | 127 | ~ | 0 |
左腕の角度 | 180° | ~ | 90° | ~ | 0° |
これをプログラムにするとこんな感じです。前述のプログラムのfunction部分を変更しました。
これはジョイスティックの値0~255を0~1に変換し、それを180倍することで0~180°に変換しています。
ではプログラムを動かしてみましょう。実行すると次のとおりです。
おージョイスティックで腕を動かせるようになりました。
以上がジョイスティックの活用方法でした。
今回は紹介しませんでしたが、Y軸方向やZ軸方向の動作を使うプログラムにも挑戦してみてください!
他のセンサー類の使い方
また、他のセンサー類の使い方は下記をご覧ください。
それでは embot+を楽しんでください(^^)/~~~