Сигнальная башня#

Введение#

Сигнальная башня — это устройство, использующее цветные светодиоды для отображения состояния робота. В неё также встроен бамперный переключатель, который реагирует на нажатие.

В приведенных ниже примерах сконфигурированная сигнальная вышка будет называться signal_tower_1 и будет использоваться во всех последующих примерах в этой документации по API при обращении к методам класса SignalTower.

Ниже приведён список всех доступных методов:

Настройки – Настройте цвета и режимы подсветки сигнальной вышки.

  • set_color – Задает шаблон для одного или всех светодиодов сигнальной вышки.

  • set_colors – Устанавливает состояние каждого светодиода сигнальной вышки.

Получатели – Ознакомьтесь с информацией о состоянии заставки «Сигналическая вышка».

  • pressing – Возвращает значение, указывающее, нажата ли в данный момент кнопка бампера «Сигнальная башня».

Обратные вызовы – выполнение кода при изменении состояния бампера сигнальной вышки.

  • pressed – Регистрирует функцию, которая будет вызываться при нажатии бампера «Сигнальная башня».

  • released – Регистрирует функцию, которая будет вызвана при отпускании бампера «Сигнальная башня».

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

  • 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 — Индикаторы мигают.

в

Состояние белого индикатора:

  • 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

Optional. A tuple containing arguments to pass to the callback function. See Functions with Parameters for more information.

# 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

Ранее определенная функция, которая выполняется при отпускании бампера Сигнальной башни.

arg

Optional. A tuple containing arguments to pass to the callback function. See Functions with Parameters for more information.

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