Signaaltoren#
Invoering#
De Signaaltoren is een apparaat dat gekleurde lampjes gebruikt om de status van de robot weer te geven. Het heeft ook een ingebouwde bumperschakelaar die detecteert wanneer deze wordt ingedrukt.
Voor de onderstaande voorbeelden krijgt de geconfigureerde Signal Tower de naam signal_tower_1 en deze naam wordt in alle volgende voorbeelden in deze API-documentatie gebruikt wanneer er wordt verwezen naar de methoden van de klasse SignalTower.
Hieronder vindt u een lijst met alle beschikbare methoden:
Instellers – Configureer de kleuren en patronen van de verlichting van de signaaltoren.
set_color– Stelt het patroon in voor één of alle LED’s van de signaaltoren.set_colors– Stelt de status van elke LED van de signaaltoren in.
Getters – Lees de status van de Signal Tower-bumper.
pressing– Geeft aan of de bumper van de zendmast momenteel is ingedrukt.
Callbacks – Voer code uit wanneer de status van de Signal Tower-bumper verandert.
pressed– Registreert een functie die moet worden aangeroepen wanneer de bumper van de Signal Tower wordt ingedrukt.released– Registreert een functie die moet worden aangeroepen wanneer de bumper van de Signal Tower wordt losgelaten.
Constructors – Initialiseer en configureer de signaaltoren handmatig.
SignalTower– Maak een signaaltoren.
Setters#
set_color#
set_color stelt het lichtpatroon in van een of alle LED’s op de signaaltoren. Deze lampjes kunnen worden gebruikt om de positie van de robot in een project te volgen of om aan te geven wanneer aan bepaalde voorwaarden is voldaan.
Usage:
signal_tower_1.set_color(value, state)
Parameter |
Beschrijving |
|---|---|
waarde |
De kleur van het licht dat moet worden aangestuurd:
|
staat |
Het toe te passen lichtpatroon:
|
# Set the Signal Tower to start blinking the blue LED
signal_tower_1.set_color(SignalTower.BLUE, signal_tower.BLINK)
set_colors#
set_colors stelt de status van elke LED van de signaaltoren in. Deze lampjes kunnen worden gebruikt om de positie van de robot in een project te volgen of om aan te geven wanneer aan bepaalde voorwaarden is voldaan.
Usage:
signal_tower_1.set_colors(r, y, g, b, w)
Parameter |
Beschrijving |
|---|---|
R |
De status van het rode licht:
|
y |
De status van het gele licht:
|
G |
De status voor het groene licht:
|
B |
De status van het blauwe licht:
|
w |
De status voor het witte licht:
|
# 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#
Als je op pressing krijg je een Booleaanse waarde terug die aangeeft of de bumper van de seintoren momenteel wordt ingedrukt. Dit kan als noodstop worden gebruikt.
True— De bumper van de zendmast wordt momenteel ingedrukt.False— De bumper van de zendmast wordt niet ingedrukt.
Usage:
signal_tower_1.pressing()
Terugbelverzoeken#
pressed#
pressed registreert een functie die moet worden aangeroepen wanneer de bumper van de signaaltoren wordt ingedrukt.
Deze methode retourneert een instantie van de klasse Event.
Usage:
signal_tower_1.pressed(callback, arg)
Parameters |
Beschrijving |
|---|---|
|
Een eerder gedefinieerde functie die wordt uitgevoerd wanneer de bumper van de Signaaltoren wordt ingedrukt. |
|
Optioneel. Een tuple met argumenten die aan de callbackfunctie moeten worden doorgegeven. Zie Functies met parameters voor meer informatie. |
# 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 registreert een functie die moet worden aangeroepen wanneer de bumper van de signaaltoren wordt losgelaten.
Deze methode retourneert een instantie van de klasse Event.
Usage:
signal_tower_1.released(callback, arg)
Parameters |
Beschrijving |
|---|---|
|
Een eerder gedefinieerde functie die wordt uitgevoerd wanneer de bumper van de Signaaltoren wordt losgelaten. |
|
Optioneel. Een tuple met argumenten die aan de callbackfunctie moeten worden doorgegeven. Zie Functies met parameters voor meer informatie. |
# 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)
Constructeurs#
SignalTower#
SignalTower creëert een signaaltoren.
SignalTower(smartport)
Parameter |
Beschrijving |
|---|---|
|
De slimme poort waarop de zendmast is aangesloten, wordt weergegeven als |
# Construct a Signal Tower "signal_tower_1" with the
# SignalTower class
signal_tower_1 = SignalTower(Ports.PORT1)