cansatapi パッケージ

cansatapi.lps25hb モジュール

気圧・高度・気温取得モジュール

気圧センサ(AE-LPS25HB)を使って気圧、高度、気温を取得できるモジュール

使用しているライブラリ:

smbus2

class cansatapi.lps25hb.LPS25HB[ソース]

ベースクラス: object

気圧センサ (AE-LPS25HB)を扱うクラス

データシート: https://www.st.com/resource/en/datasheet/lps25hb.pdf

get_pressure() float[ソース]

気圧を読み取るメソッド

戻り値:

気圧[hPa]

戻り値の型:

float

get_pressure_altitude_temperature() list[float][ソース]

気圧・高度・気温を読み取るメソッド

Deprecated:

後方互換性のために残しています。

戻り値:

現在の気圧[hPa], 現在の高度[m], 現在の気温[℃], をこの順番で要素とするリスト

戻り値の型:

list[float]

get_temperature() float[ソース]

内蔵の温度計から温度を読み取るメソッド

LPS25HBの内蔵温度計の公差は±2℃です。 また、有効範囲は0℃から+65℃です。 内蔵なので温度が気温よりすこし高めに出る傾向があります。

戻り値:

温度[℃]

戻り値の型:

float

cansatapi.lps25hb.byte_pressure_to_hpa(raw_byte: list) float[ソース]

生の気圧データをhPaに変換する関数

パラメータ:

raw_byte (list) -- LPS25HBから読み取った生の気圧データ

戻り値:

気圧(hpa)

戻り値の型:

float

cansatapi.lps25hb.byte_temp_to_deg_c(raw_byte: list) float[ソース]

生の温度データを℃に変換する関数

パラメータ:

raw_byte (list) -- LPS25HBから読み取った生のデータ

戻り値:

温度(℃)

戻り値の型:

float

cansatapi.lps25hb.calc_altitude(pressure: float, sea_level_pressure: float = 1013.25) float[ソース]

気圧[hPa]から高度[m]を計算する関数

海面気圧に基づいて高度を計算するので低気圧接近時などにズレが生じます。 絶対値として使うのではなく、相対値として(差分を計算して)使用してください。

パラメータ:
  • pressure (float) -- 気圧[hPa]

  • sea_level_pressure (float) -- 海面気圧[hPa]

戻り値:

計算された高度[m]

戻り値の型:

float

cansatapi.batteryvoltagegauge モジュール

cansatapi.camera モジュール

cansatapi.distance モジュール

超音波距離センサを使い、機体前面にある物体と機体との距離を取得するプログラム

使用しているライブラリ:

rpi.gpio

cansatapi.distance.distance_result() float[ソース]

超音波距離センサ(HC-SR04)を使って機体前面にある物体と機体との距離を取得する

戻り値:

距離(cm)

戻り値の型:

float

cansatapi.distance.duration_calculation(elapsed: float, speed: float) float[ソース]

前方の障害物との距離を計算する

パラメータ:
  • elapsed -- float: HIGHになっている時間

  • speed -- float: スピード

戻り値:

距離(cm)

戻り値の型:

float

cansatapi.distance.speed_calculation() float[ソース]

音波のスピードを計算する

戻り値:

スピード

戻り値の型:

float

cansatapi.gps モジュール

cansatapi.nineaxissensor モジュール

cansatapi.dcmotor モジュール

DCモーター制御用モジュール

class cansatapi.dcmotor.DCMotor(fin: int, rin: int, freq: int = 50)[ソース]

ベースクラス: object

DCモーターをドライバを通してPWM制御するクラス

cleanup()[ソース]

モーターの使用後に呼び出すメソッド

GPIOのクリーンアップを行います。 DCモーター使用後は必ず呼び出して下さい。

forward(duty: int = 50)[ソース]

モーターを正転させます

パラメータ:

duty (int) -- デューティ比[%]

reverse(duty: int = 50)[ソース]

モーターを逆転させます

パラメータ:

duty (int) -- デューティ比[%]

stop()[ソース]

モーターを停止させるメソッド

class cansatapi.dcmotor.WheelController[ソース]

ベースクラス: object

車輪の2個のモーターを同時にコントロールするクラス

前進するために左右のモーターを同じデューティ比にするときなどに使います。

cleanup()[ソース]

GPIOのクリーンアップを行うメソッド

インスタンスの使用が終わったら必ず呼び出して下さい。

forward(duty: int = 50)[ソース]

車輪を正転させるメソッド

パラメータ:

duty (int) -- デューティ比[%]

l_pivot_fwd(duty: int = 50)[ソース]

反時計回りに左車輪を軸に信地旋回を行うメソッド

パラメータ:

duty (int) -- デューティ比[%]

l_pivot_rev(duty: int = 50)[ソース]

時計回りに左車輪を軸に信地旋回を行うメソッド

パラメータ:

duty (int) -- デューティ比[%]

l_spin(duty: int = 50)[ソース]

反時計回りに超信地回転を行うメソッド

パラメータ:

duty (int) -- デューティ比[%]

r_pivot_fwd(duty: int = 50)[ソース]

時計回りに右車輪を軸に信地旋回を行うメソッド

パラメータ:

duty (int) -- デューティ比[%]

r_pivot_rev(duty: int = 50)[ソース]

反時計回りに右車輪を軸に信地旋回を行うメソッド

パラメータ:

duty (int) -- デューティ比[%]

r_spin(duty: int = 50)[ソース]

時計回りに超信地回転を行うメソッド

パラメータ:

duty (int) -- デューティ比[%]

reverse(duty: int = 50)[ソース]

車輪を逆転させるメソッド

パラメータ:

duty (int) -- デューティ比[%]

stop()[ソース]

車輪を停止させるメソッド

cansatapi.dcmotor.Wheels = <cansatapi.dcmotor.WheelController object>[ソース]

車輪のインスタンス

cansatapi.servo モジュール

ローテーションサーボモーターを制御するモジュール データシート https://akizukidenshi.com/download/ds/feetech/fs90r_20201214.pdf 参考資料 https://mickey-happygolucky.hatenablog.com/entry/2019/10/23/114711

class cansatapi.servo.Servo(pin_number: int)[ソース]

ベースクラス: object

finish()[ソース]

サーボモーターを停止させるメソッド

サーボモーター使用後は必ず呼び出すこと

rotate_ccw()[ソース]

ローテーションサーボモーターを反時計回りに最速で回すメソッド

rotate_cw()[ソース]

ローテーションサーボモーターを時計回りに最速で回すメソッド

rotate_cw_or_ccw(duty: float)[ソース]

ローテーションサーボモーターを時計回りか反時計回りに任意の速さで回すメソッド

パラメータ:

duty -- 3.5~11.5を入力する.7.5以下が時計回り,7.5以上が反時計回り

rotate_stop()[ソース]

ローテーションサーボモーターを止めるメソッド

cansatapi.soil_moisture モジュール

土壌水分量測定モジュール

土壌水分センサを使って土壌水分率を取得するモジュール

使用しているライブラリ:

Adafruit-Blinka adafruit-circuitpython-seesaw

class cansatapi.soil_moisture.SoilMoistureSensor[ソース]

ベースクラス: object

土壌水分センサ(Adafruit STEMMA Soil Sensor - I2C CapacitiveMoisture Sensor)を扱うクラス

製品ページ: https://learn.adafruit.com/adafruit-stemma-soil-sensor-i2c-capacitive-moisture-sensor

get_soil_moisture() float[ソース]

土壌水分量を取得します

200(非常に乾いた状態)から2000(非常に湿った状態)までの値を取得できます

戻り値:

土壌水分量

戻り値の型:

float

cansatapi.bme280 モジュール

温湿度気圧センサモジュール

温湿度気圧センサを使って温度、湿度、気圧の値を取得できるモジュール

使用するにはI2Cが有効になっている必要があります

使用しているライブラリ:

bme280

class cansatapi.bme280.BME280[ソース]

ベースクラス: object

get_humidity() float[ソース]

湿度[%]を取得します

戻り値:

湿度[%]

戻り値の型:

float

get_pressure() float[ソース]

気圧[hPa]を取得します

戻り値:

気圧[hPa]

戻り値の型:

float

get_temperature() float[ソース]

温度[℃]を取得します

戻り値:

温度[℃]

戻り値の型:

float

temperature_result() list[ソース]

温湿度気圧センサ(AE-BME280)を使って温度、湿度、気圧の値を返却します

Deprecated:

後方互換性のために残しています

戻り値:

[温度[℃], 湿度[%], 気圧[hPa]]

戻り値の型:

list

cansatapi.xbee モジュール