訊號塔#

介紹#

訊號塔是一種利用彩色燈光顯示機器人狀態的設備。它還內建了一個碰撞開關,可以偵測到何時被按下。

對於以下範例,配置的信號塔將命名為 signal_tower_1 ,並且在本 API 文件中所有後續範例中,當引用 SignalTower 類方法時,都會使用該訊號塔。

以下是所有可用方法的清單:

設定人員-配置訊號塔燈光的顏色和模式。

  • set_color – 設定一個或所有訊號塔 LED 的圖案。

  • set_colors – 設定每個訊號塔 LED 的狀態。

Getters – 請閱讀信號塔保險桿的狀態說明。

  • pressing – 返回信號塔保險桿目前是否被按下。

回呼函數 – 當訊號塔保險桿狀態改變時執行代碼。

  • pressed – 註冊一個在信號塔保險桿被按下時要呼叫的函數。

  • released – 註冊一個在信號塔保險桿釋放時要呼叫的函數。

建造者 – 手動初始化和配置訊號塔。

二傳手#

set_color#

set_color 設定訊號塔上一個或所有 LED 的燈光模式。這些燈光可用於追蹤機器人在專案中的位置,或顯示何時滿足特定條件。

Usage:
signal_tower_1.set_color(value, state)

範圍

描述

價值

要控制的燈光顏色:

  • SignalTower.RED
  • SignalTower.GREEN
  • SignalTower.BLUE
  • SignalTower.YELLOW
  • SignalTower.WHITE
  • SignalTower.ALL — 將此顏色應用於所有白色。

狀態

The light pattern to apply:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lights blink on and off.

# Set the Signal Tower to start blinking the blue LED
signal_tower_1.set_color(SignalTower.BLUE, signal_tower.BLINK)

set_colors#

set_colors 設定每個訊號塔 LED 的狀態。這些燈可用於追蹤機器人在專案中的位置,或顯示何時滿足特定條件。

Usage:
signal_tower_1.set_colors(r, y, g, b, w)

範圍

描述

r

The state for the red light:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lights blink on and off.

是

The state for the yellow light:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lights blink on and off.

克

The state for the green light:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lights blink on and off.

b

The state for the blue light:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lights blink on and off.

西

The state for the white light:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lights blink on and off.

# Turn on all LEDs
signal_tower_1.set_colors(SignalTower.ON, SignalTower.ON, SignalTower.ON, SignalTower.ON, SignalTower.ON)

# Turn on just the red LED
signal_tower_1.set_colors(SignalTower.ON, SignalTower.OFF, SignalTower.OFF, SignalTower.OFF, SignalTower.OFF)

獲取器#

pressing#

輸入pressing 會返回一個布林值,指示信號塔的保險桿目前是否被按下。這可以用作緊急停止功能。

  • True — 信號塔的保險桿目前正被按下。

  • False — 信號塔的保險桿沒有被按下。

Usage:
signal_tower_1.pressing()

回呼函數#

pressed#

pressed 註冊一個函數,當信號塔的保險桿被按下時,函數將被呼叫。

此方法傳回 Event 類別的一個實例。

Usage:
signal_tower_1.pressed(callback, arg)

參數

描述

callback

先前定義的 函數,當信號塔的保險桿被按下時執行。

arg

可選。包含要傳遞給回呼函數的參數的元組。有關更多信息,請參閱帶參數的函數。

# Define a function tower_button_pressed()
def tower_button_pressed():
    # Print that the Signal Tower's button was pressed
    # to the Brain's screen.
    brain.screen.print("button pressed")

# Run tower_button_pressed when the Signal Tower's
# button is pressed.
signal_tower_1.pressed(tower_button_pressed)

released#

released 註冊一個函數,當信號塔的保險桿被釋放時,該函數將被呼叫。

此方法傳回 Event 類別的一個實例。

Usage:
signal_tower_1.released(callback, arg)

參數

描述

callback

先前定義的 函數,當信號塔的保險桿被釋放時執行。

arg

可選。包含要傳遞給回呼函數的參數的元組。有關更多信息,請參閱帶參數的函數。

# Define a function tower_button_released()
def tower_button_released():
    # Print that the Signal Tower's button was released
    # to the Brain's screen.
    brain.screen.print("button released")

# Run tower_button_released when the Signal Tower's
# button is released.
signal_tower_1.released(tower_button_released)

建構函數#

SignalTower#

SignalTower 創建一個信號塔。

SignalTower(smartport)

範圍

描述

smartport

訊號塔連接的智慧型端口,記為 Ports.PORTx ,其中 x 為端口號。

# Construct a Signal Tower "signal_tower_1" with the
# SignalTower class
signal_tower_1 = SignalTower(Ports.PORT1)