訊號塔#
介紹#
訊號塔是一種利用彩色燈光顯示機器人狀態的設備。它還內建了一個碰撞開關,可以偵測到何時被按下。
對於以下範例,配置的信號塔將命名為 signal_tower_1 ,並且在本 API 文件中所有後續範例中,當引用 SignalTower 類方法時,都會使用該訊號塔。
以下是所有可用方法的清單:
設定人員-配置訊號塔燈光的顏色和模式。
set_color– 設定一個或所有訊號塔 LED 的圖案。set_colors– 設定每個訊號塔 LED 的狀態。
Getters – 請閱讀信號塔保險桿的狀態說明。
pressing– 返回信號塔保險桿目前是否被按下。
回呼函數 – 當訊號塔保險桿狀態改變時執行代碼。
建造者 – 手動初始化和配置訊號塔。
SignalTower– 建立一個訊號塔。
二傳手#
set_color#
set_color 設定訊號塔上一個或所有 LED 的燈光模式。這些燈光可用於追蹤機器人在專案中的位置,或顯示何時滿足特定條件。
Usage:
signal_tower_1.set_color(value, state)
範圍 |
描述 |
|---|---|
價值 |
要控制的燈光顏色:
|
狀態 |
The light pattern to apply:
|
# 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:
|
是 |
The state for the yellow light:
|
克 |
The state for the green light:
|
b |
The state for the blue light:
|
西 |
The state for the white light:
|
# 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)
參數 |
描述 |
|---|---|
|
先前定義的 函數,當信號塔的保險桿被按下時執行。 |
|
# 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)
參數 |
描述 |
|---|---|
|
先前定義的 函數,當信號塔的保險桿被釋放時執行。 |
|
# 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)
範圍 |
描述 |
|---|---|
|
訊號塔連接的智慧型端口,記為 |
# Construct a Signal Tower "signal_tower_1" with the
# SignalTower class
signal_tower_1 = SignalTower(Ports.PORT1)