Torre de sinalização#
Introdução#
A Torre de Sinalização é um dispositivo que utiliza luzes coloridas para indicar o estado do robô. Possui também um interruptor de impacto integrado que deteta quando é pressionado.
Nos exemplos abaixo, a Torre de Sinalização configurada terá o nome signal_tower_1 e será utilizada em todos os exemplos subsequentes ao longo desta documentação da API quando se referir os métodos da classe SignalTower.
Segue-se uma lista de todos os métodos disponíveis:
Configuradores – Configure as cores e os padrões de luz da Torre de Sinalização.
set_color– Define o padrão para um ou todos os LEDs da Torre de Sinalização.set_colors– Define o estado de cada LED da Torre de Sinalização.
Getters – Leia o estado do pára-choques da Torre de Sinalização.
pressing– Retorna se o botão da Torre de Sinalização está actualmente premido.
Callbacks – Executar código quando o estado do bumper da Torre de Sinalização é alterado.
pressed– Regista uma função a ser chamada quando o botão da Torre de Sinalização é premido.released– Regista uma função a ser chamada quando o pára-choques da Torre de Sinalização é libertado.
Construtores – Inicialize e configure manualmente a Torre de Sinalização.
SignalTower– Criar uma Torre de Sinal.
Levantadores#
set_color#
O comando set_color define o padrão de luz de um ou de todos os LEDs da Torre de Sinalização. Estas luzes podem ser utilizadas para rastrear a localização do robô num projeto ou para indicar quando determinadas condições são cumpridas.
Usage:
signal_tower_1.set_color(value, state)
Parâmetro |
Descrição |
|---|---|
valor |
A cor da luz a controlar:
|
estado |
O padrão de luz a aplicar:
|
# Set the Signal Tower to start blinking the blue LED
signal_tower_1.set_color(SignalTower.BLUE, signal_tower.BLINK)
set_colors#
O comando set_colors define o estado de cada LED da Torre de Sinalização. Estas luzes podem ser utilizadas para rastrear a localização do robô num projeto ou para indicar quando determinadas condições são cumpridas.
Usage:
signal_tower_1.set_colors(r, y, g, b, w)
Parâmetro |
Descrição |
|---|---|
r |
Estado da luz vermelha:
|
y |
Estado da luz amarela:
|
g |
Estado da luz verde:
|
b |
Estado da luz azul:
|
c |
Estado da luz branca:
|
# 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)
Getters#
pressing#
pressing returns a Boolean indicating whether the Signal Tower’s bumper is currently being pressed. This can be used as an emergency stop.
True— O pára-choques da Torre de Sinalização está a ser pressionado neste momento.False— O pára-choques da Torre de Sinalização não está a ser pressionado.
Usage:
signal_tower_1.pressing()
Retornos de chamada#
pressed#
O comando pressed regista uma função a ser chamada quando o botão da Torre de Sinalização é premido.
Este método retorna uma instância da classe Event.
Usage:
signal_tower_1.pressed(callback, arg)
Parâmetros |
Descrição |
|---|---|
|
Uma função previamente definida que é executada quando o botão de paragem da Torre de Sinalização é premido. |
|
Opcional. Uma tupla contendo argumentos para passar para a função de callback. Consulte Funções com Parâmetros para obter mais informações. |
# 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 regista uma função a ser chamada quando o pára-choques da Torre de Sinalização for libertado.
Este método retorna uma instância da classe Event.
Usage:
signal_tower_1.released(callback, arg)
Parâmetros |
Descrição |
|---|---|
|
Uma função previamente definida que é executada quando o pára-choques da Torre de Sinalização é libertado. |
|
Opcional. Uma tupla contendo argumentos para passar para a função de callback. Consulte Funções com Parâmetros para obter mais informações. |
# 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)
Construtores#
SignalTower#
SignalTower cria uma Torre de Sinalização.
SignalTower(smartport)
Parâmetro |
Descrição |
|---|---|
|
A porta inteligente à qual a torre de sinalização está ligada é representada por |
# Construct a Signal Tower "signal_tower_1" with the
# SignalTower class
signal_tower_1 = SignalTower(Ports.PORT1)