ジョイスティックを使用する/sense hatを動かす part7

2018年12月10日

前回は、センサーを触ってみましたが、引き続き、ジョイスティックにも触れてみました。

Sense HAT では、ジョイスティックが押され、保持され、リリースされたときを、上、下、左 、右、中央の5つの異なる方向で検出できます。

スポンサーリンク

ジョイスティックの動きを検出

Sense HAT ジョイスティックは4つのキーボードカーソルキーにマッピングされ、ジョイ スティックの中央クリックは Return キーにマッピングされます。

つまり、ジョイスティックを使用すると、キーボードのキーを押すのとまったく同じ効果が得られます。下方向は、HDMIポートが下を向いていることを忘れないでください。

それでは、チュートリアル(Using the joystick)に従って動作検証をしてみましょう。

from sense_hat import SenseHat
sense = SenseHat()
while True:
for event in sense.stick.get_events():
print(event.direction, event.action)

ジョイスティックを動かすと、ご覧のような表示がなされます。


方向をLEDマトリクスに表示

ジョイスティックがどの方向に押されたかに応じて、LEDマトリクスに文字U、D、L、Rま たはMのいずれかを表示します。

チュートリアルから抜粋

この動画では、眩しすぎて、何となく文字U、D、L、Rま たはMが表示されているようにしかわからんですな!大変申し訳ありません!

関数呼び出しのトリガ

Sense HATのジョイスティックが特定の方向に動かされるたびに、関数を呼び出すこともできます。

たとえば、ジョイスティックが押し上げられる(direction_up)などの特定のイベントを継続的に取り出し、それに応答して関数を起動するようにプログラムに指示できます。

sense.stick.direction_up = pushed_up

イベントによってトリガーされた関数は、パラメーターを持たないか、またはイベントをパラメーターとして受け取ることができます。

それでは、次の例を動かした結果を動画にしてみました。

チュートリアルから抜粋

このプログラムは、ジョイスティックを押すと、4つの異なる色でLEDマトリックスを満たす表示がなされます。下で青、右で黄色、上で赤、左で緑でLEDが表示されます。

sense hat に関する記事は他にもあります。是非、ご覧ください。

スポンサーリンク

sense hat

Posted by mizutan