Сигнальна вежа#

Вступ#

Сигнальна вежа – це пристрій, який використовує кольорові індикатори для відображення стану робота. Він також має вбудований вимикач-бампер, який може виявляти його натискання.

У наведених нижче прикладах налаштована Signal Tower матиме назву signal_tower_1 та використовуватиметься у всіх наступних прикладах цієї документації API під час посилання на SignalTower.

Нижче наведено список усіх доступних методів:

Сеттери – налаштуйте кольори та шаблони підсвічування сигнальної вежі.

  • set_color – Встановлює шаблон для одного або всіх світлодіодів сигнальної вежі.

  • set_colors – Встановлює стан кожного світлодіода сигнальної вежі.

Геттери – Зчитують стан бампера сигнальної вежі.

  • pressing – Повертає, чи натиснуто бампер Signal Tower на даний момент.

Зворотні виклики – Запускають код, коли стан бампера Signal Tower змінюється.

  • pressed – Реєструє функцію, яка викликається при натисканні бампера Signal Tower.

  • released – Реєструє функцію, яка викликається при звільненні бампера Signal Tower.

Конструктори – ініціалізують та налаштовують сигнальну вежу вручну.

  • SignalTower – Створіть сигнальну вежу.

Сеттери#

set_color#

set_color встановлює світловий шаблон одного або всіх світлодіодів на сигнальній вежі. Ці світлодіоди можна використовувати для відстеження положення робота в проекті або для індикації виконання певних умов.

Usage:
signal_tower_1.set_color(value, state)

Параметр

Опис

значення

Колір світла для керування:

  • SignalTower.RED
  • SignalTower.GREEN
  • SignalTower.BLUE
  • SignalTower.YELLOW
  • SignalTower.WHITE
  • SignalTower.ALL — Застосовує дію до всіх кольорів.

стан

Застосовуваний шаблон світлового сповіщення:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Світло блимає.

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

set_colors#

set_colors встановлює стан кожного світлодіода сигнальної вежі. Ці індикатори можна використовувати для відстеження положення робота в проекті або для індикації виконання певних умов.

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

Параметр

Опис

р

Стан червоного світла:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Світло блимає.

у

Стан жовтого світла:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Світло блимає.

г

Стан зеленого світла:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Світло блимає.

б

Стан синього світла:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Світло блимає.

w

Стан білого світла:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Світло блимає.

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

Геттери#

pressing#

Натискання pressing повертає логічне значення, яке вказує, чи натискається бампер сигнальної вежі. Це можна використовувати для аварійної зупинки.

  • True — Наразі триває пресування бампера сигнальної вежі.

  • False — Бампер сигнальної вежі не натискається.

Usage:
signal_tower_1.pressing()

Зворотні виклики#

pressed#

pressed реєструє функцію, яка викликається при натисканні на бампер сигнальної вежі.

Цей метод повертає екземпляр класу Event.

Usage:
signal_tower_1.pressed(callback, arg)

Параметри

Опис

callback

Раніше визначена функція, яка виконується при натисканні на бампер сигнальної вежі.

arg

Необов’язково. Кортеж tuple, що містить аргументи для передачі функції зворотного виклику. Див. Функції з параметрами для отримання додаткової інформації.

# 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 реєструє функцію, яка викликається, коли бампер сигнальної вежі відпущено.

Цей метод повертає екземпляр класу Event.

Usage:
signal_tower_1.released(callback, arg)

Параметри

Опис

callback

Раніше визначена function, яка виконується, коли бампер сигнальної вежі відпускається.

arg

Необов’язково. Кортеж tuple, що містить аргументи для передачі функції зворотного виклику. Див. Функції з параметрами для отримання додаткової інформації.

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

Конструктори#

SignalTower#

SignalTower створює сигнальну вежу.

SignalTower(smartport)

Параметр

Опис

smartport

Розумний порт, до якого підключена сигнальна вежа, записується як Ports.PORTx , де x – номер порту.

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