Tour de signalisation#

Introduction#

La tour de signalisation est un dispositif qui utilise des lumières colorées pour indiquer l’état du robot. Elle est également dotée d’un interrupteur à ressort intégré qui détecte lorsqu’il est actionné.

Pour les exemples ci-dessous, la tour de signalisation configurée sera nommée signal_tower_1 et sera utilisée dans tous les exemples suivants de cette documentation API lors de la référence aux méthodes de classe SignalTower.

Vous trouverez ci-dessous la liste de toutes les méthodes disponibles :

Configurateurs – Configurez les couleurs et les motifs lumineux de la tour de signalisation.

  • set_color – Définit le motif pour une ou toutes les LED de la tour de signalisation.

  • set_colors – Définit l’état de chaque LED de la tour de signalisation.

Acquisition – Consultez l’état du pare-chocs de la tour de signalisation.

  • pressing – Renvoie si le pare-chocs de la tour de signalisation est actuellement enfoncé.

Rappels – Exécuter du code lorsque l’état du pare-chocs de la tour de signalisation change.

  • pressed – Enregistre une fonction à appeler lorsque le pare-chocs de la tour de signalisation est appuyé.

  • released – Enregistre une fonction à appeler lorsque le pare-chocs de la tour de signalisation est libéré.

Constructeurs – Initialisez et configurez manuellement la tour de signalisation.

Setters#

set_color#

La commande set_color permet de définir le motif lumineux d’une ou de toutes les LED de la tour de signalisation. Ces lumières peuvent servir à suivre la position du robot dans un projet ou à indiquer que certaines conditions sont remplies.

Usage:
signal_tower_1.set_color(value, state)

Paramètre

Description

valeur

Voyant de couleur à contrôler :

  • SignalTower.RED
  • SignalTower.GREEN
  • SignalTower.BLUE
  • SignalTower.YELLOW
  • SignalTower.WHITE
  • SignalTower.ALL — Applique l’action à toutes les couleurs.

État

Le motif lumineux à appliquer :

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Les feux clignotent.

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

set_colors#

La commande set_colors définit l’état de chaque LED de la tour de signalisation. Ces LED peuvent servir à suivre la position du robot dans un projet ou à indiquer que certaines conditions sont remplies.

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

Paramètre

Description

r

État du feu rouge :

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Les feux clignotent.

y

État du feu jaune :

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Les feux clignotent.

g

État du feu vert :

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Les feux clignotent.

b

État du voyant bleu :

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Les voyants clignotent.

w

État du voyant blanc :

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Les voyants clignotent.

# 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 renvoie une valeur booléenne indiquant si le pare-chocs de la tour de signalisation est actuellement enfoncé. Ceci peut servir d’arrêt d’urgence.

  • True — Le pare-chocs de la tour de signalisation est actuellement enfoncé.

  • False — Le pare-chocs de la tour de signalisation n’est pas enfoncé.

Usage:
signal_tower_1.pressing()

Rappels#

pressed#

Appuyer sur pressed enregistre une fonction qui sera appelée lorsque le pare-chocs de la tour de signalisation sera enfoncé.

Cette méthode renvoie une instance de la classe Event.

Usage:
signal_tower_1.pressed(callback, arg)

Paramètres

Description

callback

Une fonction précédemment définie qui s’exécute lorsque le pare-chocs de la tour de signalisation est pressé.

arg

Facultatif. Un tuple contenant les arguments à transmettre à la fonction de rappel. Voir Fonctions avec paramètres pour plus d’informations.

# 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 enregistre une fonction à appeler lorsque le pare-chocs de la tour de signalisation est relâché.

Cette méthode renvoie une instance de la classe Event.

Usage:
signal_tower_1.released(callback, arg)

Paramètres

Description

callback

Une fonction précédemment définie qui s’exécute lorsque le pare-chocs de la tour de signalisation est relâché.

arg

Facultatif. Un tuple contenant les arguments à transmettre à la fonction de rappel. Voir Fonctions avec paramètres pour plus d’informations.

# 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 crée une tour de signalisation.

SignalTower(smartport)

Paramètre

Description

smartport

Le port intelligent auquel la tour de signalisation est connectée est écrit sous la forme Ports.PORTx où x est le numéro du port.

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