Сигнальная башня#
Введение#
Сигнальная башня — это устройство, использующее цветные светодиоды для отображения состояния робота. В неё также встроен бамперный переключатель, который реагирует на нажатие.
В приведенных ниже примерах сконфигурированная сигнальная вышка будет называться 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)
Параметр |
Описание |
|---|---|
ценить |
Цвет подсветки для управления:
|
состояние |
Применяемый световой режим:
|
# 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)
Параметр |
Описание |
|---|---|
р |
Состояние красного индикатора:
|
й |
Состояние жёлтого индикатора:
|
г |
Состояние зеленого света:
|
б |
Состояние синего индикатора:
|
в |
Состояние белого индикатора:
|
# 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)
Параметры |
Описание |
|---|---|
|
Ранее определенная функция, которая выполняется при нажатии на бампер сигнальной башни. |
|
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)
Параметры |
Описание |
|---|---|
|
Ранее определенная функция, которая выполняется при отпускании бампера Сигнальной башни. |
|
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)
Параметр |
Описание |
|---|---|
|
Интеллектуальный порт, к которому подключена сигнальная вышка, обозначается как |
# Construct a Signal Tower "signal_tower_1" with the
# SignalTower class
signal_tower_1 = SignalTower(Ports.PORT1)