このドキュメンテーションは、MicroPython の最新開発ブランチのためのものです。 リリースバージョンでは利用できない機能に言及することがあります。

特定のリリースのドキュメントをお探しの場合は、左側のドロップダウンメニューを使って、 望みのバージョンを選択します。

zsensor --- Zephyr センサーバインディング

The zsensor module contains a class for using sensors with Zephyr.

クラス Sensor --- Zephyr ポート用のセンサー制御

このクラスは、ボード上のセンサーからデータにアクセスするのに使います。センサーの使用方法については、Zephyr のドキュメンテーションの センサー を参照してください。

各ボードのために Zephyr devicetree でセンサーが定義されています。特定のセンサーが測定できる数量は、センサーチャンネルと呼ばれます。センサーは、1つのプロパティの異なる軸またはセンサーが測定できる異なるプロパティを表すために、複数のチャンネルを持つことがあります。定義されたセンサーチャネルについては、後述の Channels を参照してください。

コンストラクタ

class zsensor.Sensor(device_name)

デバイス名は、ボードの devicetree で定義されています。たとえば、FRDM-k64f ボードの加速度センサーのデバイス名は「FXOS8700」です。

メソッド

Sensor.measure()

Zephyr の sensor_sample_fetch を使ってセンサーデバイスから測定サンプルを取得し、それを有用な値として内部のドライバーバッファに格納します。この値は (値の整数部, 値の小数部を百万倍した整数)というペアです。成功した場合は None を返し、失敗した場合は OSError になります。

Sensor.get_float(sensor_channel)

計測したセンサー値を float で返します。

Sensor.get_micros(sensor_channel)

計測したセンサー値を100万倍した値を返します。(例: 値が (1, 500000) であれば 1500000 を返します)

Sensor.get_millis(sensor_channel)

計測したセンサー値を1000倍した値を返します。(例: 値が (1, 500000) であれば 1500 を返します)

Sensor.get_int(sensor_channel)

計測したセンサー値の整数部だけを返します。(例: 値が (1, 500000) であれば 1 を返します)

チャンネル

zsensor.ACCEL_X

X軸の加速度(m/s^2)。

zsensor.ACCEL_Y

Y軸の加速度(m/s^2)。

zsensor.ACCEL_Z

Z軸の加速度(m/s^2)。

zsensor.GYRO_X

X軸の角速度(radians/s)。

zsensor.GYRO_Y

Y軸の角速度(radians/s)。

zsensor.GYRO_Z

Z軸の角速度(radians/s)。

zsensor.MAGN_X

X軸の角速度(radians/s)。

zsensor.MAGN_Y

Y軸の磁場(ガウス)。

zsensor.MAGN_Z

Z軸の磁場(ガウス)。

zsensor.DIE_TEMP

デバイスのダイ温度(摂氏)。

zsensor.PRESS

気圧(キロパスカル)。

zsensor.PROX

近接度。無次元。値が1の場合、物体が近いことを示します。

zsensor.HUMIDITY

湿度(パーセント)。

zsensor.LIGHT

可視スペクトル内の照度(ルクス)。

zsensor.ALTITUDE

高度(メートル)。