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.

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:

  • SignalTower.RED
  • SignalTower.GREEN
  • SignalTower.BLUE
  • SignalTower.YELLOW
  • SignalTower.WHITE
  • SignalTower.ALL — Aplica a ação a todas as cores.

estado

O padrão de luz a aplicar:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — As luzes piscam.

# 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:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — As luzes piscam.

y

Estado da luz amarela:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — As luzes piscam.

g

Estado da luz verde:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — As luzes piscam.

b

Estado da luz azul:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — As luzes piscam.

c

Estado da luz branca:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — As luzes piscam.

# 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

callback

Uma função previamente definida que é executada quando o botão de paragem da Torre de Sinalização é premido.

arg

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

callback

Uma função previamente definida que é executada quando o pára-choques da Torre de Sinalização é libertado.

arg

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

smartport

A porta inteligente à qual a torre de sinalização está ligada é representada por Ports.PORTx , onde x é o número da porta.

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