Raspberry Pi Sense HAT

Raspberry PiのSense HAT(Astro Pi HATとしても知られる)は,Raspberry Piデバイスの上に置かれるデバイスである.ボードには,加速度計,磁力計,ジャイロスコープ,温度計,気圧計,湿度センサが搭載され,そのすべてがI2C通信を通してPiにデータを渡す.これらのセンサに加えて,情報を表示するのに使える8×8のLED配列と,入力に使える5方向ジョイスティックも搭載されている.

Raspberry Pi上のSense HAT(写真提供:Raspberry Pi Foundation)

デバイスを開く

    DeviceOpen["SenseHAT"]

    Sense HATデバイスへのI2C接続を開く.

    DeviceOpen["SenseHAT"]はセンサからデータを読み取る必要はないが,DeviceWrite[]を使って文字列を表示するのに使われなければならない.

データの読取り

    DeviceRead["SenseHat", sensor]

    sensor で指定されたセンサからデータを読み取る.

    DeviceRead[dev,sensor]

    sensor で指定されたセンサからデータを読み取る.

  • Sense HATには,読取りが行えるさまざまなセンサが搭載されている.
  • "Temperature"温度を読み取る(単位:摂氏)
    "Humidity"湿度を読み取る(単位:%rH)
    "Pressure"気圧を読み取る(単位:ミリバール)
    "Rotation"1秒ごとのジャイロスコープの回転運動を読み取る
    "Acceleration"Reads地球の表面上の重力による標準加速度について加速度を読み取る
    "Orientation"磁北に対する方向を読み取る(単位:度)
    "Magnetic Field"センサ周囲の磁場の強度と方向を読み取る(単位:マイクロテスラ)
  • ジャイロスコープ,加速度計,磁力計のセンサは,{roll,pitch,yaw}(ロール軸,ピッチ軸,ヨー軸)に対応する3つの値のリストを返す.それぞれは,以下の画像のように方向付けられる.

データの書込み

    DeviceWrite[dev,"str"]

    LED行列上に文字列 str を表示する.

  • 使用可能なオプション:
  • "ScrollSpeed"枠間の時間量
    "Color"{r,g,b} で表されるテキストの色.値は0-255の範囲とする
  • DeviceWriteを使ってLED行列に書かれたテキストは,行列上でテキストをスクロールして表示される.
  • DeviceWrite[dev,list]

    それぞれのRGBの3つの値をボード上の1つのLEDに書き,RGB値のリスト list を表示する.

  • RGBの3つの値を使ってLEDスクリーンに書かれた画像は,64個の3つ1組の値のリストとして,あるいはそれぞれが8個の3つ1組の値を持つ8行のリストとして,DeviceWriteに渡される.

リソースの終了と解放

    DeviceClose[dev]

    デバイスへの接続を閉じる.

    DeviceClose[dev]は,センサからデータを読み取る前に,あるいはLED行列に文字列を書き込む前に,DeviceOpen["SenseHat"]が呼び出された場合にのみ必要である.

例題

すべて開くすべて閉じる

  (3)

DeviceOpenを使ってセンサのデータを読み取る:

LED配列に文字列を表示する:

RGBの値のリストを表示する:

スコープ  (1)

Sense HATをティッカーテープ機にする: