fusion_hat.modules.grayscale_module モジュール

class fusion_hat.modules.grayscale_module.Grayscale_Module(pin0: ADC, pin1: ADC, pin2: ADC, reference: int = None)[ソース]

ベースクラス: object

3 チャンネル グレースケール モジュール

LEFT = 0

左チャンネル

MIDDLE = 1

中央チャンネル

RIGHT = 2

右チャンネル

REFERENCE_DEFAULT = [1000, 1000, 1000]
reference(ref: list = None) list[ソース]

基準値 を 取得 / 設定 する

パラメータ:

ref (list) -- 基準値 。 None の場合は 基準値 を 取得 する

戻り値:

基準値

戻り値の型:

list

read_status(datas: list = None) list[ソース]

ライン 状態 を 読み取る

パラメータ:

datas (list) -- グレースケール データ の リスト 。 None の場合は センサー から 読み取る

戻り値:

ライン 状態 の リスト 。 0 は 白 、 1 は 黒

戻り値の型:

list

read(channel: int = None) list[ソース]

単一 チャンネル または 全 データ を 読み取る

パラメータ:

channel (int/None) -- 読み取る チャンネル 。 省略 すると 全て を 読み取る 。 0 、 1 、 2 または Grayscale_Module.LEFT 、 Grayscale_Module.CENTER 、 Grayscale_Module.RIGHT

戻り値:

グレースケール データ の リスト

戻り値の型:

list

class fusion_hat.modules.grayscale_module.LineTracker(left: ADC, middle: ADC, right: ADC, slopes: list = None, offsets: list = None)[ソース]

ベースクラス: object

ライントラッカー

LINE_DIFF = 200
CLIFF_THRESHOLD = 120
LINE_REFERENCE_UPDATE_RATE = 0.05
read_channel(channel: int, raw: bool = False) int[ソース]

チャンネル を 読み取る

パラメータ:
  • channel (int) -- 読み取る チャンネル 。 0 、 1 、 2 または Grayscale_Module.LEFT 、 Grayscale_Module.CENTER 、 Grayscale_Module.RIGHT

  • raw (bool) -- True の場合は 生 データ を 返す 。 False の場合は 補正 済み データ を 返す

戻り値:

グレースケール データ

戻り値の型:

int

calibrate_data(data: list) list[ソース]

グレースケール データ を キャリブレーション する :param data: グレースケール データ の リスト :type data: list

戻り値:

キャリブレーション 済み グレースケール データ の リスト

戻り値の型:

list

read(raw: bool = False) list[ソース]

ライン 状態 を 読み取る

パラメータ:

raw (bool) -- True の場合は 生 データ を 返す 。 False の場合は 補正 済み データ を 返す

戻り値:

ライン 状態 の リスト 。 0 は 白 、 1 は 黒

戻り値の型:

list

is_on_cliff(data: list = None) bool[ソース]

ロボット が 崖 の 上 に いる か を 確認 する

パラメータ:

data (list) -- グレースケール データ の リスト 。 省略 すると センサー から 読み取る

戻り値:

ロボット が 崖 の 上 に いる 場合は True 、 それ以外は False

戻り値の型:

bool

get_line_position(data: list = None)[ソース]

ライン の 位置 を 取得 する

パラメータ:

data (list) -- グレースケール データ の リスト 。 省略 すると センサー から 読み取る

戻り値:

ライン の 位置 。 -1 は 左 、 0 は 中央 、 1 は 右

戻り値の型:

float

is_on_line(data: list = None) bool[ソース]

ロボット が ライン 上 に いる か を 確認 する

パラメータ:

data (list) -- グレースケール データ の リスト 。 省略 すると センサー から 読み取る

戻り値:

ロボット が ライン 上 に いる 場合は True 、 それ以外は False

戻り値の型:

bool

set_calibration_data(slopes: list, offsets: list)[ソース]

キャリブレーション データ を 設定 する :param slopes: 傾き の リスト :type slopes: list :param offsets: オフセット の リスト :type offsets: list

set_cliff_threshold(threshold: int)[ソース]

崖 判定 の しきい値 を 設定 する :param threshold: 崖 の しきい値 :type threshold: int

get_calibration_data()[ソース]

キャリブレーション データ を 取得 する :returns: 傾き と オフセット の タプル :rtype: tuple

calibrate(light_data: list, dark_data: list)[ソース]

ライントラッカー を キャリブレーション する :param light_data: 明るい データ の リスト :type light_data: list :param dark_data: 暗い データ の リスト :type dark_data: list

update_line_background_reference(current_values)[ソース]

ライン 背景 の 値 を 更新 する

update_line_reference(current_values)[ソース]

ライン 基準値 を 更新 する