Raspberry Pi Sense HAT
Raspberry PiのSense HAT(Astro Pi HATとしても知られる)は,Raspberry Piデバイスの上に置かれるデバイスである.ボードには,加速度計,磁力計,ジャイロスコープ,温度計,気圧計,湿度センサが搭載され,そのすべてがI2C通信を通してPiにデータを渡す.これらのセンサに加えて,情報を表示するのに使える8×8のLED配列と,入力に使える5方向ジョイスティックも搭載されている.
デバイスを開く
DeviceOpen["SenseHAT"]
Sense HATデバイスへのI2C接続を開く.
DeviceOpen["SenseHAT"]はセンサからデータを読み取る必要はないが,DeviceWrite[]を使って文字列を表示するのに使われなければならない.
データの読取り
- Sense HATには,読取りが行えるさまざまなセンサが搭載されている.
-
"Temperature" 温度を読み取る(単位:摂氏) "Humidity" 湿度を読み取る(単位:%rH) "Pressure" 気圧を読み取る(単位:ミリバール) "Rotation" 1秒ごとのジャイロスコープの回転運動を読み取る "Acceleration" Reads地球の表面上の重力による標準加速度について加速度を読み取る "Orientation" 磁北に対する方向を読み取る(単位:度) "Magnetic Field" センサ周囲の磁場の強度と方向を読み取る(単位:マイクロテスラ) - ジャイロスコープ,加速度計,磁力計のセンサは,{roll,pitch,yaw}(ロール軸,ピッチ軸,ヨー軸)に対応する3つの値のリストを返す.それぞれは,以下の画像のように方向付けられる.
DeviceRead["SenseHat", sensor]
sensor で指定されたセンサからデータを読み取る.
DeviceRead[dev,sensor]
sensor で指定されたセンサからデータを読み取る.
データの書込み
- 使用可能なオプション:
-
"ScrollSpeed" 枠間の時間量 "Color" {r,g,b} で表されるテキストの色.値は0-255の範囲とする - DeviceWriteを使ってLED行列に書かれたテキストは,行列上でテキストをスクロールして表示される.
- RGBの3つの値を使ってLEDスクリーンに書かれた画像は,64個の3つ1組の値のリストとして,あるいはそれぞれが8個の3つ1組の値を持つ8行のリストとして,DeviceWriteに渡される.
DeviceWrite[dev,"str"]
LED行列上に文字列 str を表示する.
DeviceWrite[dev,list]
それぞれのRGBの3つの値をボード上の1つのLEDに書き,RGB値のリスト list を表示する.
リソースの終了と解放
DeviceClose[dev]
デバイスへの接続を閉じる.
DeviceClose[dev]は,センサからデータを読み取る前に,あるいはLED行列に文字列を書き込む前に,DeviceOpen["SenseHat"]が呼び出された場合にのみ必要である.