Блоки ТРИК
Специализированные блоки для ТРИК делятся на три категории:
Действия — блоки, выполняющие какое-либо действие на контроллере: включение моторов, проигрывание звука и т. д.
Ожидания — блоки, ждущие наступления какого-либо события: определённых показаний датчиков, нажатия на кнопку и т. д.
Рисования — блоки, используемые для вывода графики и текста на экран.
Блоки, доступные для всех платформ см. в статье
Общие блокиБлоки действия
Вид | Название | Описание |
Отправляет данное сообщение в параллельную задачу с заданным идентификатором. | ||
Сохраняет в указанную переменную код нажатой на роботе кнопки. | ||
Проигрывает на контроллере звук с заданной частотой и длительностью. | ||
Проиграть на контроллере заданный звуковой файл. | ||
Включить моторы по заданным портам с заданной мощностью. | ||
Включить моторы в режиме реверса по заданным портам с заданной мощностью. | ||
Выключить моторы по заданным портам. | ||
Сбросить показания количества оборотов моторов по указанным портам. | ||
Установить валы угловых сервомоторов на указанных портах в указанное положение | ||
Произнести с помощью динамика фразу, переданную в качестве аргумента блока. | ||
Установить указанный цвет светодиода на корпусе контроллера. | ||
Блок имеет логический параметр «Код». Если он имеет значение «Истина», содержимое параметра «Команда» генерируется напрямую в текст программы при генерации этого блока. Если «Ложь», генерируется вызов консольной команды операционной системы. | ||
Включить видеокамеру на контроллере в одном из трёх режимов. | ||
Выключить видеокамеру. | ||
Фиксирует изображение в центре кадра и инициализирует им датчик линии или датчик объекта. | ||
Помещает текущее показание датчика линии в указанную переменную. | ||
Запускает видеотрансляцию на роботе. | ||
Останавливает видеотрансляцию с камеры робота. | ||
Отправляет данное сообщение роботу с данным бортовым номером. | ||
Записывает значение данного выражения в заданный файл на роботе. | ||
Удаляет заданный файл на роботе. | ||
Устанавливает гироскоп в 0 в текущей позиции. |
Отправить сообщение в задачу
Отправляет данное сообщение в параллельную задачу с заданным идентификатором (идентификатор должен быть указан при создании задачи в блоке «Параллельные задачи»). В качестве сообщения может быть любое выражение.
Получить код кнопки
Сохраняет в указанную переменную код нажатой на роботе кнопки. Свойство «Ожидание» позволяет дождаться или не дожидаться, когда кнопка действительно будет нажата. Если нажатия кнопки блок не дожидается и кнопка не нажата, переменной присваивается значение «-1».
Играть звук
Проигрывает на контроллере звук с заданной частотой и длительностью.
Играть звуковой файл
Проиграть на контроллере заданный звуковой файл.
Файл должен быть заранее загружен на контроллер. Путь до файла указывается относительно папки trik
на контроллере. Загрузить файл на контроллер можно, например, с помощью программы WinSCP.
Моторы вперёд
Включить моторы по заданным портам с заданной мощностью. Порты задаются строками M1, M2, M3 и M4, разделенными запятыми. Мощность задается в процентах числом от -100 до 100. Если задано отрицательное значение, мотор включается в режиме реверса.
Моторы назад
Включить моторы в режиме реверса по заданным портам с заданной мощностью. Параметры аналогичны параметрами блока «Моторы вперёд».
Моторы стоп
Выключить моторы по заданным портам. Порты задаются строками M1, M2, M3 и M4, разделенными запятыми.
Сбросить показания энкодера
Сбросить показания количества оборотов моторов по указанным портам. Порты задаются строками E1, E2, E3 и E4, разделенными запятыми.
Угловой сервомотор
Установить валы угловых сервомоторов на указанных портах в указанное положение (в градусах, от -90 до 90). Порты задаются строками, разделенными запятыми.
Сказать
Произнести с помощью динамика фразу, переданную в качестве аргумента блока.
Светодиод
Установить указанный цвет светодиода на корпусе контроллера.
Системный вызов
Блок имеет логический параметр «Код». Если он имеет значение «Истина», содержимое параметра «Команда» генерируется напрямую в текст программы при генерации этого блока. Если «Ложь», генерируется вызов консольной команды операционной системы.
Включить видеокамеру
Включить видеокамеру на контроллере в одном из трёх режимов:
Сенсор линии — детектирует цветную линию в центре кадра и в дальнейшем возвращает отклонение центра линии от центра кадра, как число в интервале от -100 (влево) до 100 (вправо).
Сенсор объекта — детектирует контрастный объект в центре кадра и в дальнейшем возвращает координаты его центра и диаметр в пикселях.
Сенсор цвета — возвращает доминирующий цвет в центре кадра в виде его координат в цветовой шкале RGB.
Детектировать по камере
Фиксирует изображение в центре кадра и инициализирует им датчик линии или датчик объекта. Камера должна быть включена в соответствующем режиме блоком «Включить видеокамеру».
Датчик линии в переменную
Помещает текущее показание датчика линии в указанную переменную. Камера должна быть включена в режиме датчика линии блоком «Включить видеокамеру» и инициализирована блоком «Детектировать по камере».
Запустить видеотрансляцию
Запускает видеотрансляцию на роботе.
Видео может быть просмотрено на пульте управления ТРИК или в браузере по адресу вида:
{ip-адрес робота}:8080/?action=stream/
.
Послать сообщение
Отправляет данное сообщение роботу с данным бортовым номером.
Робот должен быть в той же сети, что и робот, отправляющий сообщение, и зарегистрирован как ведущий или ведомый с помощью меню Настройки → Сообщения
на роботе. Если роботов с данным бортовым номером в сети несколько, сообщение получат все они.
Записать в файл
Записывает значение данного выражения в заданный файл на роботе.
Путь до файла может быть абсолютным или относительно папки с trik-studio.exe
.
Файл можно получить с контроллера, например, с помощью программы WinSCP для Windows или scp для Linux.
Удалить файл
Удаляет заданный файл на роботе.
Путь до файла может быть абсолютным или относительно папки с trik-studio.exe
.
Выключить видеокамеру
Выключает видеокамеру.
Отключить видеотрансляцию
Останавливает видеотрансляцию с камеры робота.
Калибровка гироскопа
Устанавливает гироскоп в 0 в текущей позиции.
Блоки ожидания
Вид | Название | Описание |
Ждать получения сообщения из другой параллельной задачи. | ||
Ждать ввода значения от пользователя. | ||
Ждать, пока значение, возвращаемое гиродатчиком на указанном порту, не будет сравнимо с указанным в значении параметра «градусы». | ||
Ждать срабатывания датчика касания на указанном порту. | ||
Ждать, пока значение, возвращаемое сенсором света на указанном порту, не будет сравнимо с указанным значением в параметре «Проценты». | ||
Ждать, пока расстояние, возвращаемое ультразвуковым сенсором расстояния, не будет сравнимо со значением, указанным в параметре «Расстояние». | ||
Ждать, пока расстояние, возвращаемое инфракрасным сенсором расстояния, не будет сравнимо с указанным в значении параметра «Расстояние». | ||
Ждать, пока показания счетчика количества оборотов на заданном порту не станут больше или меньше указанного в значении параметра «Предел оборотов». | ||
Ждать, пока не будет нажата указанная кнопка на корпусе робота. | ||
Ждать получения сообщения через систему почтовых ящиков. Когда сообщение будет получено, оно будет помещено в указанную в параметре блока переменную. | ||
Ждать нажатия на кнопку на пульте, подключённом к роботу. | ||
Ждать нажатия на одну из двух активных областей пульта, подключённого к роботу. | ||
Ждать нужного наклона пульта, подключённого к роботу. | ||
Ждать, пока пульт не отключится от робота. Если пульт не подключен, программа продолжит выполнение. | ||
Ждать, пока к роботу не подключится пульт. Если пульт уже подключен, программа продолжит выполнение. |
Получить сообщение из другой задачи
Ждать получения сообщения из другой параллельной задачи. Когда сообщение будет получено, оно будет присвоено указанной в блоке переменной. Свойство «Дождаться сообщения» позволяет указать, что делать, если очередь сообщений пуста: дождаться прихода нового сообщения или продолжить работу, присвоив переменной пустую строку. Сообщение автоматически приводится к типу, соответствующему типу переменной-приёмника. Пример: если вы посылаете число в виде строки, то оно будет принято как число.
Пользовательский ввод
Ждать ввода значения от пользователя. После ввода значение будет присвоено указанной в блоке переменной.
Свойства
Блок «Пользовательский ввод» имеет 3 свойства:
Свойство | Описание |
Переменная | Имя переменной. |
По умолчанию | Значение переменной по умолчанию. |
Текст | Описание поля ввода. |
Пример
Программа | Исполнение программы |
Ждать гиродатчик
Ждать, пока значение, возвращаемое гиродатчиком на указанном порту, не будет сравнимо с указанным в значении параметра «градусы».
Ждать датчик касания
Ждать срабатывания датчика касания на указанном порту.
Ждать свет
Ждать, пока значение, возвращаемое сенсором света на указанном порту, не будет сравнимо с указанным значением в параметре «Проценты». Параметры: «Проценты» — значение для сравнения со значением, возвращаемым датчиком света. «Порт» — порт, к которому подключен сенсор света. «Считанное значение» — операция, которая будет использоваться для сравнения со значением параметра «Проценты».
Ждать УЗ датчик расстояния
Ждать, пока расстояние, возвращаемое ультразвуковым сенсором расстояния, не будет сравнимо со значением, указанным в параметре «Расстояние» (расстояние задается в сантиметрах, от 0 до 300). Параметры: «Расстояние» — значение для сравнения со значением, возвращаемым датчиком расстояния. «Порт» — порт, к которому подключен датчик расстояния. «Считанное значение» — операция, которая будет использоваться для сравнения со значением параметра «Расстояние».
Ждать ИК датчик расстояния
Ждать, пока расстояние, возвращаемое инфракрасным сенсором расстояния, не будет сравнимо с указанным в значении параметра «Расстояние». По умолчанию на портах A1 и A2 расстояние задается в сантиметрах (от 0 до 100), к остальным подключение не рекомендуется, так как чистое значение с датчика будет обработано с ожиданием другого подключенного датчика. Еще один параметр — номер порта, к которому подключен датчик расстояния. Также параметром указывается операция, которая будет использоваться для сравнения с введенным расстоянием.
Ждать энкодер
Ждать, пока показания счетчика количества оборотов на заданном порту не станут больше или меньше указанного в значении параметра «Предел оборотов».
Ждать нажатия кнопки
Ждать, пока не будет нажата указанная кнопка на корпусе робота.
Получить сообщение
Ждать получения сообщения через систему почтовых ящиков. Когда сообщение будет получено, оно будет помещено в указанную в параметре блока переменную. Свойство «Дождаться сообщения» позволяет указать, что делать, если очередь сообщений пуста: дождаться прихода нового сообщения или продолжить работу, положив в переменную пустую строку. Сообщение автоматически приводится к типу, соответствующему типу переменной-приёмника, то есть, например, можно послать число в виде строки и принять его как число.
Ждать кнопки на пульте
Ждать нажатия на кнопку на пульте, подключённом к роботу. Кнопки имеют номера от 1 до 5.
Ждать нажатия на пульт
Ждать нажатия на одну из двух активных областей пульта, подключённого к роботу. Координаты нажатия можно получить с помощью сенсорных переменных «gamepadPad».
Ждать «руля» на пульте
Ждать нужного наклона пульта, подключённого к роботу. Наклон регистрируется только если на пульте включён режим «руля», угол наклона кодируется числами от -100 (максимально влево) до 100 (максимально вправо). Также параметром указывается операция, которая будет использоваться для сравнения со значением параметра «Угол».
Ждать отключения пульта
Ждать, пока пульт не отключится от робота. Если пульт не подключен, программа продолжит выполнение.
Ждать подключения пульта
Ждать, пока к роботу не подключится пульт. Если пульт уже подключен, программа продолжит выполнение.
Блоки рисования
Вид | Название | Описание |
Указать цвет, которым будут рисоваться простые графические фигуры на экране робота. | ||
Указать ширину линии, которой будут рисоваться простые графические фигуры на экране робота. | ||
Нарисовать на экране точку в указанных координатах. | ||
Нарисовать на экране отрезок. В качестве параметров блоку указываются концы отрезка. | ||
Нарисовать на экране прямоугольник. В качестве параметров указываются координаты левого верхнего угла, ширина и высота прямоугольника. | ||
Нарисовать на экране эллипс, вписанный в заданный прямоугольник. | ||
Нарисовать на экране дугу, заданную координатами прямоугольника, в который она будет вписана, и углами (в градусах) её начала и конца на окружности. Если начало и конец совпадают, будет нарисована окружность. | ||
Нарисовать на экране смайлик. | ||
Нарисовать на экране грустный смайлик. | ||
Задаёт цвет фона экрана. | ||
Печатает заданную строку в заданном месте на экране робота. Значение свойства «Текст» по умолчанию трактуется как строка в чистом виде, оно так и будет выведено на экран. | ||
Стереть всё, что нарисовано на экране. |
Цвет кисти
Указать цвет, которым будут рисоваться простые графические фигуры на экране робота.
Ширина кисти
Указать ширину линии, которой будут рисоваться простые графические фигуры на экране робота.
Нарисовать точку
Нарисовать на экране точку в указанных координатах.
Нарисовать линию
Нарисовать на экране отрезок. В качестве параметров блоку указываются концы отрезка.
Нарисовать прямоугольник
Нарисовать на экране прямоугольник. В качестве параметров указываются координаты левого верхнего угла, ширина и высота прямоугольника.
Нарисовать эллипс
Нарисовать на экране эллипс, вписанный в заданный прямоугольник.
Нарисовать дугу
Нарисовать на экране дугу, заданную координатами прямоугольника, в который она будет вписана, и углами (в градусах) её начала и конца на окружности. Если начало и конец совпадают, будет нарисована окружность.
Смайлик
Нарисовать на экране смайлик.
Грустный смайлик
Нарисовать на экране грустный смайлик.
Цвет фона
Задаёт цвет фона экрана.
Напечатать текст
Печатает заданную строку в заданном месте на экране робота.
Свойства
Свойство | Значение |
Вычислять | Истина — вывод на экран значения переменной или выражения. Ложь — вывод на экран текста. |
Текст | Текст / имя переменной (выражение) для вывода на экран. |
Обновить картинку | Истина — обновить экран. Ложь — не обновлять экран. |
X, Y | Координаты начала текста. |
Как вывести текст на экран?
Для вывода текста:
В свойстве «Текст» напишите нужный текст.
Уберите галочку в свойстве «Вычислять».
Как вывести значение переменной на экран?
Для вывода значения переменной:
В свойстве «Текст» напишите имя переменной.
Поставьте галочку в свойстве «Вычислять».
Очистить экран
Стереть всё, что нарисовано на экране.
Last updated