Блоки ТРИК

Специализированные блоки для ТРИК делятся на три категории:
  1. Действия — блоки, выполняющие какое-либо действие на контроллере: включение моторов, проигрывание звука и т. д.
  2. Ожидания — блоки, ждущие наступления какого-либо события: определённых показаний датчиков, нажатия на кнопку и т. д.
  3. Рисования — блоки, используемые для вывода графики и текста на экран.
Блоки, доступные для всех платформ см. в разделе «Общие блоки».

Блоки действия

Отправить сообщение в задачу
Отправляет данное сообщение в параллельную задачу с заданным идентификатором (идентификатор должен быть указан при создании задачи в блоке «Параллельные задачи»).

В качестве сообщения может быть любое выражение.
Получить код кнопки
Сохраняет в указанную переменную код нажатой на роботе кнопки.

Свойство «Ожидание» позволяет дождаться или не дожидаться, когда кнопка действительно будет нажата. Если нажатия кнопки блок не дожидается и кнопка не нажата, переменной присваивается значение «-1».
Играть звук
Проигрывает на контроллере звук с заданной частотой и длительностью.
Играть звуковой файл
Проиграть на контроллере заданный звуковой файл.

Файл должен быть заранее загружен на контроллер. Путь до файла указывается относительно папки trik на контроллере. Загрузить файл на контроллер можно, например, с помощью программы WinSCP.
Моторы вперёд
Включить моторы по заданным портам с заданной мощностью.

Порты задаются строками M1, M2, M3 и M4, разделенными запятыми. Мощность задается в процентах числом от -100 до 100. Если задано отрицательное значение, мотор включается в режиме реверса.
Моторы назад
Включить моторы в режиме реверса по заданным портам с заданной мощностью.

Параметры аналогичны параметрами блока «Моторы вперёд».
Моторы стоп
Выключить моторы по заданным портам.

Порты задаются строками M1, M2, M3 и M4, разделенными запятыми.
Сбросить показания энкодера
Сбросить показания количества оборотов моторов по указанным портам.

Порты задаются строками E1, E2, E3 и E4, разделенными запятыми.
Угловой сервомотор
Установить валы угловых сервомоторов на указанных портах в указанное положение (в градусах, от -90 до 90).

Порты задаются строками, разделенными запятыми.
Сказать
Произнести с помощью динамика фразу, переданную в качестве аргумента блока.
Cветодиод
Установить указанный цвет светодиода на корпусе контроллера.
Системный вызов
Блок имеет булевый параметр «Код». Если он имеет значение «Истина», содержимое параметра «Команда» генерируется напрямую в текст программы при генерации этого блока. Если «Ложь», генерируется вызов консольной команды операционной системы.
Включить видеокамеру
Включить видеокамеру на контроллере в одном из трёх режимов:
  1. Сенсор линии — детектирует цветную линию в центре кадра и в дальнейшем возвращает отклонение центра линии от центра кадра, как число в интервале от -100 (влево) до 100 (вправо).
  2. Сенсор объекта — детектирует контрастный объект в центре кадра и в дальнейшем возвращает координаты его центра и диаметр в пикселях.
  3. Сенсор цвета — возвращает доминирующий цвет в центре кадра в виде его координат в цветовой шкале RGB.
Детектировать по камере
Фиксирует изображение в центре кадра и инициализирует им датчик линии или датчик объекта. Камера должна быть включена в соответствующем режиме блоком «Включить видеокамеру».
Датчик линии в переменную
Помещает текущее показание датчика линии в указанную переменную.

Камера должна быть включена в режиме датчика линии блоком «Включить видеокамеру» и инициализирована блоком «Детектировать по камере».
Запустить видеотрансляцию
Запускает видеотрансляцию на роботе.

Видео может быть просмотрено на пульте управления ТРИК или в браузере по адресу вида:
{ip-адрес робота}:8080/?action=stream/.
Послать сообщение
Отправляет данное сообщение роботу с данным бортовым номером.

Робот должен быть в той же сети, что и робот, отправляющий сообщение, и зарегистрирован как ведущий или ведомый с помощью меню «Настройки» → «Сообщения» на роботе. Если роботов с данным бортовым номером в сети несколько, сообщение получат все они.
Записать в файл
Записывает значение данного выражения в заданный файл на роботе.

Путь до файла может быть абсолютным или относительно папки с trik-studio.exe.

Файл можно получить с контроллера, например, с помощью программы WinSCP для Windows или scp для Linux.
Удалить файл
Удаляет заданный файл на роботе.

Путь до файла может быть абсолютным или относительно папки с trik-studio.exe.

Блоки ожидания

Получить сообщение из другой задачи
Ждать получения сообщения из другой параллельной задачи.

Когда сообщение будет получено, оно будет присвоено указанной в блоке переменной.

Свойство «Дождаться сообщения» позволяет указать, что делать, если очередь сообщений пуста: дождаться прихода нового сообщения или продолжить работу, присвоив переменной пустую строку.

Сообщение автоматически приводится к типу, соответствующему типу переменной-приёмника. Пример: если вы посылаете число в виде строки, то оно будет принято как число.
Ждать датчик касания
Ждать срабатывания датчика касания на указанном порту.
Ждать свет
Ждать, пока значение, возвращаемое сенсором света на указанном порту, не будет сравнимо с указанным значением в параметре «Проценты».

Параметры:
«Проценты» — значение для сравнения со значением, возвращаемым датчиком света.
«Порт» — порт, к которому подключен сенсор света.
«Считанное значение» — операция, которая будет использоваться для сравнения со значением параметра «Проценты».
Ждать УЗ датчик расстояния
Ждать, пока расстояние, возвращаемое ультразвуковым сенсором расстояния, не будет сравнимо со значением, указанным в параметре «Расстояние» (расстояние задается в сантиметрах, от 0 до 300).

Параметры:
«Расстояние» — значение для сравнения со значением, возвращаемым датчиком расстояния.
«Порт» — порт, к которому подключен датчик расстояния.
«Считанное значение» — операция, которая будет использоваться для сравнения со значением параметра «Расстояние».
Ждать ИК датчик расстояния
Ждать, пока расстояние, возвращаемое инфракрасным сенсором расстояния, не будет сравнимо с указанным в значении параметра «Расстояние».

По умолчанию на портах A1 и A2 расстояние задается в сантиметрах (от 0 до 100), к остальным подключение не рекомендуется, так как чистое значение с датчика будет обработано с ожиданием другого подключенного датчика.

Еще один параметр — номер порта, к которому подключен датчик расстояния. Также параметром указывается операция, которая будет использоваться для сравнения с введенным расстоянием.
Ждать энкодер
Ждать, пока показания счетчика количества оборотов на заданном порту не станут больше или меньше указанного в значении параметра «Предел оборотов».
Ждать нажатия кнопки
Ждать, пока не будет нажата указанная кнопка на корпусе робота.
Получить сообщение
Ждать получения сообщения через систему почтовых ящиков. Когда сообщение будет получено, оно будет помещено в указанную в параметре блока переменную.

Свойство «Дождаться сообщения» позволяет указать, что делать, если очередь сообщений пуста: дождаться прихода нового сообщения или продолжить работу, положив в переменную пустую строку.

Сообщение автоматически приводится к типу, соответствующему типу переменной-приёмника, то есть, например, можно послать число в виде строки и принять его как число.
Ждать кнопки на пульте
Ждать нажатия на кнопку на пульте, подключённом к роботу. Кнопки имеют номера от 1 до 5.
Ждать нажатия на пульт
Ждать нажатия на одну из двух активных областей пульта, подключённого к роботу. Координаты нажатия можно получить с помощью сенсорных переменных «gamepadPad».
Ждать «руля» на пульте
Ждать нужного наклона пульта, подключённого к роботу.

Наклон регистрируется только если на пульте включён режим «руля», угол наклона кодируется числами от -100 (максимально влево) до 100 (максимально вправо).

Также параметром указывается операция, которая будет использоваться для сравнения со значением параметра «Угол».
Ждать отключения пульта
Ждать, пока пульт не отключится от робота. Если пульт не подключен, программа продолжит выполнение.
Ждать подключения пульта
Ждать, пока к роботу не подключится пульт. Если пульт уже подключен, программа продолжит выполнение.

Блоки рисования

Цвет кисти
Указать цвет, которым будут рисоваться простые графические фигуры на экране робота.
Ширина кисти
Указать ширину линии, которой будут рисоваться простые графические фигуры на экране робота.
Нарисовать точку
Нарисовать на экране точку в указанных координатах.
Нарисовать линию
Нарисовать на экране отрезок. В качестве параметров блоку указываются концы отрезка.
Нарисовать прямоугольник
Нарисовать на экране прямоугольник. В качестве параметров указываются координаты левого верхнего угла, ширина и высота прямоугольника.
Нарисовать эллипс
Нарисовать на экране эллипс, вписанный в заданный прямоугольник.
Нарисовать дугу
Нарисовать на экране дугу, заданную координатами прямоугольника, в который она будет вписана, и углами (в градусах) её начала и конца на окружности. Если начало и конец совпадают, будет нарисована окружность.
Смайлик
Нарисовать на экране смайлик.
Грустный смайлик
Нарисовать на экране грустный смайлик.
Цвет фона
Задаёт цвет фона экрана.
Напечатать текст
Печатает заданную строку в заданном месте на экране робота. Значение свойства «Текст» по умолчанию трактуется как строка в чистом виде, оно так и будет выведено на экран.

Чтобы система считала, что это выражение на текстовом языке (это может быть полезно, например, при отладке значения переменных), поставьте галочку «Вычислять» в редакторе свойств.
Очистить экран
Стереть всё, что нарисовано на экране.