Signalturm#

Einführung#

Der Signalturm ist ein Gerät, das mithilfe farbiger Lichter den Status des Roboters anzeigt. Er verfügt außerdem über einen eingebauten Stoßschalter, der erkennt, wenn er gedrückt wird.

In den folgenden Beispielen wird der konfigurierte Signal Tower als signal_tower_1 bezeichnet und in allen nachfolgenden Beispielen in dieser API-Dokumentation verwendet, wenn auf SignalTower Klassenmethoden verwiesen wird.

Nachfolgend finden Sie eine Liste aller verfügbaren Methoden:

Einsteller – Konfigurieren Sie die Lichtfarben und -muster des Signalturms.

  • set_color – Legt das Muster für eine oder alle Signal Tower LEDs fest.

  • set_colors – Legt den Zustand jeder Signalturm-LED fest.

Empfänger – Beachten Sie den Zustand des Signalturm-Stoßfängers.

  • pressing – Gibt zurück, ob der Signal Tower Bumper aktuell gedrückt ist.

Rückruffunktionen – Code wird ausgeführt, wenn sich der Status des Signalturm-Stoßfängers ändert.

  • pressed – Registriert eine Funktion, die aufgerufen werden soll, wenn der Signal Tower Bumper gedrückt wird.

  • released – Registriert eine Funktion, die aufgerufen werden soll, wenn der Signalturm-Stoßdämpfer losgelassen wird.

Konstrukteure – Signalturm manuell initialisieren und konfigurieren.

Setzer#

set_color#

Mit dem Befehl set_color wird das Lichtmuster einer oder aller LEDs am Signalturm festgelegt. Diese Leuchten können verwendet werden, um die Position des Roboters in einem Projekt zu verfolgen oder um anzuzeigen, wann bestimmte Bedingungen erfüllt sind.

Usage:
signal_tower_1.set_color(value, state)

Parameter

Beschreibung

Wert

Die zu steuernde Lichtfarbe:

  • SignalTower.RED
  • SignalTower.GREEN
  • SignalTower.BLUE
  • SignalTower.YELLOW
  • SignalTower.WHITE
  • SignalTower.ALL — Wendet die Aktion auf alle Farben an.

Zustand

Das anzuwendende Lichtmuster:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lichter blinken.

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

set_colors#

Der Befehl set_colors legt den Zustand jeder LED am Signalturm fest. Diese LEDs können verwendet werden, um die Position des Roboters in einem Projekt zu verfolgen oder um anzuzeigen, wann bestimmte Bedingungen erfüllt sind.

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

Parameter

Beschreibung

R

Zustand der roten Ampel:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lichter blinken an und aus.

y

Zustand des gelben Lichts:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lichter blinken.

G

Zustand für grünes Licht:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lichter blinken an und aus.

B

Der Zustand des blauen Lichts:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lichter blinken.

w

Zustand des weißen Lichts:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lichter blinken an und aus.

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

Getter#

pressing#

pressing wird ein boolescher Wert zurückgegeben, der angibt, ob der Stoßfänger des Signalturms gerade betätigt wird. Dies kann als Notstopp verwendet werden.

  • True — Der Stoßfänger des Signalturms wird gerade gedrückt.

  • False — Der Stoßfänger des Signalturms wird nicht gedrückt.

Usage:
signal_tower_1.pressing()

Rückrufe#

pressed#

pressed registriert eine Funktion, die aufgerufen werden soll, wenn der Stoßfänger des Signalturms gedrückt wird.

Diese Methode gibt eine Instanz der Klasse Event zurück.

Usage:
signal_tower_1.pressed(callback, arg)

Parameter

Beschreibung

callback

Eine zuvor definierte Funktion, die ausgeführt wird, wenn der Stoßfänger des Signalturms gedrückt wird.

arg

Optional. Ein Tupel, das Argumente enthält, die an die Callback-Funktion übergeben werden sollen. Weitere Informationen finden Sie unter Funktionen mit Parametern.

# 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 registriert eine Funktion, die aufgerufen werden soll, wenn der Stoßfänger des Signalturms losgelassen wird.

Diese Methode gibt eine Instanz der Klasse Event zurück.

Usage:
signal_tower_1.released(callback, arg)

Parameter

Beschreibung

callback

Eine zuvor definierte Funktion, die ausgeführt wird, wenn der Stoßfänger des Signalturms losgelassen wird.

arg

Optional. Ein Tupel, das Argumente enthält, die an die Callback-Funktion übergeben werden sollen. Weitere Informationen finden Sie unter Funktionen mit Parametern.

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

Konstruktoren#

SignalTower#

SignalTower erzeugt einen Signalturm.

SignalTower(smartport)

Parameter

Beschreibung

smartport

Der Smart Port, an den der Signal Tower angeschlossen ist, wird als Ports.PORTx geschrieben, wobei x die Nummer des Ports ist.

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