Torre de señales#

Introducción#

La Torre de señales es un dispositivo que utiliza luces de colores para mostrar el estado del robot. También tiene un interruptor de parachoques incorporado que puede detectar cuándo se presiona.

Para los ejemplos a continuación, la torre de señal configurada se llamará Signal_ signal_tower_1 y se utilizará en todos los ejemplos posteriores a lo largo de esta documentación de API cuando se haga referencia a los SignalTower clase SignalTower.

A continuación se muestra una lista de todos los métodos disponibles:

Configuradores: configure los colores y patrones de luz de la torre de señalización.

  • set_color – Establece el patrón para uno o todos los LED de la torre de señal.

  • set_colors – Establece el estado de cada LED de la torre de señal.

Getters: lee el estado del parachoques de la torre de señalización.

  • pressing – Devuelve si el parachoques de la torre de señalización está presionado actualmente.

Devoluciones de llamada: ejecute el código cuando cambie el estado del parachoques de la torre de señales.

  • pressed – Registra una función que se llamará cuando se presione el parachoques de la Torre de Señal.

  • released – Registra una función que se llamará cuando se suelte el parachoques de la torre de señales.

Constructores – Inicializar y configurar manualmente la torre de señales.

Setters#

set_color#

set_color establece el patrón de luz de uno o todos los LED en la torre de señal. Estas luces se pueden utilizar para rastrear dónde se encuentra el robot en un proyecto o para mostrar cuándo se cumplen ciertas condiciones.

Usage:
signal_tower_1.set_color(value, state)

Parámetro

Descripción

value

La luz de color a controlar:

  • SignalTower.RED
  • SignalTower.GREEN
  • SignalTower.BLUE
  • SignalTower.YELLOW
  • SignalTower.WHITE
  • SignalTower.ALL — Aplica la acción a todos los colores.

estado

El patrón de luz a aplicar:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Las luces parpadean encendidas y apagadas.

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

set_colors#

set_colors establece el estado de cada LED de la Torre de Señal. Estas luces se pueden utilizar para rastrear dónde se encuentra el robot en un proyecto o para mostrar cuándo se cumplen ciertas condiciones.

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

Parámetro

Descripción

r

El estado de la luz roja:

  • SignalTower.ON
  • SignalTower.BLINK
  • SignalTower.OFF - Las luces parpadean y se apagan.

y

El estado de la luz amarilla:

  • SignalTower.ON
  • SignalTower.BLINK
  • SignalTower.OFF - Las luces parpadean y se apagan.

g

El estado de la luz verde:

  • SignalTower.ON
  • SignalTower.BLINK
  • SignalTower.OFF - Las luces parpadean y se apagan.

b

El estado de la luz azul:

  • SignalTower.ON
  • SignalTower.BLINK
  • SignalTower.OFF - Las luces parpadean y se apagan.

w

El estado de la luz blanca:

  • SignalTower.ON
  • SignalTower.BLINK
  • SignalTower.OFF - Las luces parpadean y se apagan.

# 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 devuelve un booleano que indica si el parachoques de la Torre de Señal está siendo presionado actualmente. Esto se puede utilizar como una parada de emergencia.

  • True — El parachoques de la Torre de Señales está siendo presionado actualmente.

  • False — No se está presionando el parachoques de la Torre de Señales.

Usage:
signal_tower_1.pressing()

Devoluciones de llamada#

pressed#

pressed registra una función que se llamará cuando se pulse el parachoques de la torre de señalización.

Este método devuelve una instancia de la clase Event.

Usage:
signal_tower_1.pressed(callback, arg)

Parámetros

Descripción

callback

Una función previamente definida que se ejecuta cuando se presiona el parachoques de la torre de señalización.

arg

Opcional. Una tupla que contiene argumentos para pasar a la función de devolución de llamada. Consulte Funciones con parámetros para obtener más información.

# 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 registra una función que se llamará cuando se suelte el parachoques de la torre de señales.

Este método devuelve una instancia de la clase Event.

Usage:
signal_tower_1.released(callback, arg)

Parámetros

Descripción

callback

Una función previamente definida que se ejecuta cuando se suelta el parachoques de la torre de señalización.

arg

Opcional. Una tupla que contiene argumentos para pasar a la función de devolución de llamada. Consulte Funciones con parámetros para obtener más información.

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

Constructores#

SignalTower#

SignalTower crea una torre de señal.

SignalTower(smartport)

Parámetro

Descripción

smartport

El puerto inteligente al que está conectada la torre de señalización, escrito como Ports.PORTx donde x es el número del puerto.

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