> For the complete documentation index, see [llms.txt](https://help.trikset.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.trikset.com/trik/programming-visual/blocks.md).

# Блоки ТРИК

Специализированные блоки для ТРИК делятся на три категории:

1. [Действия](/trik/programming-visual/blocks.md#action-blocks) — блоки, выполняющие какое-либо действие на контроллере: включение моторов, проигрывание звука и т. д.
2. [Ожидания](/trik/programming-visual/blocks.md#waiting-blocks) — блоки, ждущие наступления какого-либо события: определённых показаний датчиков, нажатия на кнопку и т. д.
3. [Рисования](/trik/programming-visual/blocks.md#bloki-risovaniya) — блоки, используемые для вывода графики и текста на экран.

Блоки, доступные для всех платформ см. в статье

{% content-ref url="/pages/-M0P0XKqjxR8vRCElOaf" %}
[Общие блоки](/studio/programming-visual/blocks.md)
{% endcontent-ref %}

## Блоки действия <a href="#action-blocks" id="action-blocks"></a>

<table data-header-hidden><thead><tr><th width="219.33333333333331">Вид</th><th align="center">Название</th><th>Описание</th></tr></thead><tbody><tr><td>Вид</td><td align="center">Название</td><td>Описание</td></tr><tr><td><img src="/files/-M57QXJiHc6qgZIyiPRg" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#send-message-to-thread">Отправить сообщение в задачу</a></td><td>Отправляет данное сообщение в параллельную задачу с заданным идентификатором.</td></tr><tr><td><img src="/files/-M57QaGyasyjni8VQga5" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#get-button-code">Получить код кнопки</a></td><td>Сохраняет в указанную переменную код нажатой на роботе кнопки.</td></tr><tr><td><img src="/files/-M57QiEPSYu9I7BBNcH9" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#play-sound">Играть звук</a></td><td>Проигрывает на контроллере звук с заданной частотой и длительностью.</td></tr><tr><td><img src="/files/-M57QmLtcyz0CBzpXa6G" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#igrat-zvukovoi-fail">Играть звуковой файл</a></td><td>Проиграть на контроллере заданный звуковой файл.</td></tr><tr><td><img src="/files/-M57Qp9uJVF-ZFFq7fAi" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#motors-forward">Моторы вперёд</a></td><td>Включить моторы по заданным портам с заданной мощностью.</td></tr><tr><td><img src="/files/-M57QrQI76KSJfeBGIAn" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#motors-backward">Моторы назад</a></td><td>Включить моторы в режиме реверса по заданным портам с заданной мощностью.</td></tr><tr><td><img src="/files/-M57Qt8z1UfpFqGfCMXH" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#stop-motors">Моторы стоп</a></td><td>Выключить моторы по заданным портам.</td></tr><tr><td><img src="/files/-M57Qvi0g3VL0tbuXBsu" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#clear-encoder">Сбросить показания энкодера</a></td><td>Сбросить показания количества оборотов моторов по указанным портам.</td></tr><tr><td><img src="/files/-M57R2jBMdeeLyhM02ne" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#uglovoi-servomotor">Угловой сервомотор</a></td><td>Установить валы угловых сервомоторов на указанных портах в указанное положение</td></tr><tr><td><img src="/files/-M57R81udW81QciRNj1T" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#say">Сказать</a></td><td>Произнести с помощью динамика фразу, переданную в качестве аргумента блока.</td></tr><tr><td><img src="/files/-M57RAxT3_G5--akNH4A" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#led">Светодиод</a></td><td>Установить указанный цвет светодиода на корпусе контроллера.</td></tr><tr><td><img src="/files/-M57RFMIzub5YqwpZOc4" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#system-call">Системный вызов</a></td><td>Блок имеет логический параметр «Код». Если он имеет значение «Истина», содержимое параметра «Команда» генерируется напрямую в текст программы при генерации этого блока. Если «Ложь», генерируется вызов консольной команды операционной системы.</td></tr><tr><td><img src="/files/-M57RS3Q4ZTwd9ASoTXU" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#initialize-videocamera">Включить видеокамеру</a></td><td>Включить видеокамеру на контроллере в одном из трёх режимов.</td></tr><tr><td><img src="/files/-M57eSYv5fme97XrUIUp" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#vyklyuchit-videokameru">Выключить видеокамеру</a></td><td>Выключить видеокамеру.</td></tr><tr><td><img src="/files/-M57SZsbVuv2dRcL2Ukr" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#detect-videocamera">Детектировать по камере</a></td><td>Фиксирует изображение в центре кадра и инициализирует им датчик линии или датчик объекта.</td></tr><tr><td><img src="/files/-M57Sesq_8LGWobTco5h" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#line-detector-into-variable">Датчик линии в переменную</a></td><td>Помещает текущее показание датчика линии в указанную переменную.</td></tr><tr><td><img src="/files/-M57RVnFDrRCX7XLLdwn" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#camera-on">Запустить видеотрансляцию</a></td><td>Запускает видеотрансляцию на роботе.</td></tr><tr><td><img src="/files/-M57earRZPK8SU4o2FNV" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#otklyuchit-videotranslyaciyu">Отключить видеотрансляцию</a></td><td>Останавливает видеотрансляцию с камеры робота.</td></tr><tr><td><img src="/files/-M57RxAFVN35PyCwb4q4" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#send-message">Послать сообщение</a></td><td>Отправляет данное сообщение роботу с данным бортовым номером.</td></tr><tr><td><img src="/files/-M57S2sZfMFu2W5utr4T" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#write-to-file">Записать в файл</a></td><td>Записывает значение данного выражения в заданный файл на роботе.</td></tr><tr><td><img src="/files/-M57S7jgyTLmUKbLQ7XT" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#remove-file">Удалить файл</a></td><td>Удаляет заданный файл на роботе.</td></tr><tr><td><img src="/files/-M57eeLDEnLLI1jbmK2D" alt="" data-size="original"> </td><td align="center"><a href="/pages/-M032rQkmzbGrjWrrn3_#kalibrovka-giroskopa">Калибровка гироскопа</a></td><td>Устанавливает гироскоп в 0 в текущей позиции.</td></tr><tr><td><img src="/files/5x4102B0nZcB2db9gwdQ" alt="" data-size="original"></td><td align="center"><a href="#join-network">Join network</a></td><td>Устанавливает соединение между роботами и объединяет их в одну сеть.</td></tr></tbody></table>

### Отправить сообщение в задачу <a href="#send-message-to-thread" id="send-message-to-thread"></a>

<img src="/files/-M583uRjOrCpHJIplt5t" alt="Отправить сообщение в задачу" width="375">

Отправляет данное сообщение в параллельную задачу с заданным идентификатором (идентификатор должен быть указан при создании задачи в блоке [«Параллельные задачи»](/studio/programming-visual/blocks.md#fork)).\
\
В качестве сообщения может быть любое выражение.

### Получить код кнопки <a href="#get-button-code" id="get-button-code"></a>

![Получить код кнопки](/files/-M584J92w9wcfy3VMYoh)

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

### Играть звук <a href="#play-sound" id="play-sound"></a>

![Играть звук](/files/-M584M1owLj95nZKiFAA)

Проигрывает на контроллере звук с заданной частотой и длительностью.

### Играть звуковой файл

![Играть звуковой файл](/files/-M584PA6gcjuLPNc_G_V)

Проиграть на контроллере заданный звуковой файл.\
\
Файл должен быть заранее загружен на контроллер. Путь до файла указывается относительно папки `trik` на контроллере. Загрузить файл на контроллер можно, например, с помощью программы [WinSCP](/studio/utilities/winscp.md).

### Моторы вперёд <a href="#motors-forward" id="motors-forward"></a>

![Моторы вперед](/files/-M584RejWRVmyNIbxoDS)

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

### Моторы назад <a href="#motors-backward" id="motors-backward"></a>

![Моторы назад](/files/-M584UOkF5zwceg-r76w)

Включить моторы в режиме реверса по заданным портам с заданной мощностью.\
\
Параметры аналогичны параметрами блока [«Моторы вперёд»](/trik/programming-visual/blocks.md#motors-forward).

### Моторы стоп <a href="#stop-motors" id="stop-motors"></a>

![Моторы стоп](/files/-M584XE2UGPmLKBlpRfe)

Выключить моторы по заданным портам.\
\
Порты задаются строками M1, M2, M3 и M4, разделенными запятыми.

### Сбросить показания энкодера <a href="#clear-encoder" id="clear-encoder"></a>

<img src="/files/-M584bbH4xIwGd2Fpt-o" alt="Сбросить показания энкодера" width="563">

Сбросить показания количества оборотов моторов по указанным портам.\
\
Порты задаются строками E1, E2, E3 и E4, разделенными запятыми.

### Угловой сервомотор

![Угловой сервомотор](/files/-M584i5kCPyqbScWz19X)

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

### Сказать <a href="#say" id="say"></a>

![Сказать](/files/-M584kOl1brqm1u53t25)

Произнести с помощью динамика фразу, переданную в качестве аргумента блока.

### Светодиод <a href="#led" id="led"></a>

![Светодиод](/files/-M584nGic6Z3JYwk5tGl)

Установить указанный цвет светодиода на корпусе контроллера.

### Системный вызов <a href="#system-call" id="system-call"></a>

![Системный вызов](/files/-M584rWH7bcpygz_zl8J)

Блок имеет логический параметр «Код». Если он имеет значение «Истина», содержимое параметра «Команда» генерируется напрямую в текст программы при генерации этого блока. Если «Ложь», генерируется вызов консольной команды операционной системы.

### Включить видеокамеру <a href="#initialize-videocamera" id="initialize-videocamera"></a>

![Включить видеокамеру](/files/-M5851KeCR18SnT0QHny)

Включить видеокамеру на контроллере в одном из трёх режимов:

1. **Сенсор линии** — детектирует цветную линию в центре кадра и в дальнейшем возвращает отклонение центра линии от центра кадра, как число в интервале от -100 (влево) до 100 (вправо).
2. **Сенсор объекта** — детектирует контрастный объект в центре кадра и в дальнейшем возвращает координаты его центра и диаметр в пикселях.
3. **Сенсор цвета** — возвращает доминирующий цвет в центре кадра в виде его координат в цветовой шкале RGB.

### Детектировать по камере <a href="#detect-videocamera" id="detect-videocamera"></a>

![Детектировать по камере](/files/-M56TT9WVmZRRK2KRFSD)

Фиксирует изображение в центре кадра и инициализирует им датчик линии или датчик объекта. Камера должна быть включена в соответствующем режиме блоком [«Включить видеокамеру»](/trik/programming-visual/blocks.md#initialize-videocamera).

### Датчик линии в переменную <a href="#line-detector-into-variable" id="line-detector-into-variable"></a>

![Датчик линии в переменную](/files/-M585cs06Wd8qwxeuZvW)

Помещает текущее показание датчика линии в указанную переменную.\
\
Камера должна быть включена в режиме датчика линии блоком [«Включить видеокамеру»](/trik/programming-visual/blocks.md#initialize-videocamera) и инициализирована блоком [«Детектировать по камере»](/trik/programming-visual/blocks.md#detect-videocamera).

### Запустить видеотрансляцию <a href="#camera-on" id="camera-on"></a>

![Запустить видеотрансляцию](/files/-M585gD84zEiNNaqb_Wz)

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

### Послать сообщение <a href="#send-message" id="send-message"></a>

![Послать сообщение](/files/-M585_bUADBux_LqLMIk)

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

### Записать в файл <a href="#write-to-file" id="write-to-file"></a>

![Записать в файл](/files/-M585Xzsv8xftnx445LL)

Записывает значение данного выражения в заданный файл на роботе.\
\
Путь до файла может быть абсолютным или относительно папки с `trik-studio.exe`.\
\
Файл можно получить с контроллера, например, с помощью программы [WinSCP](/studio/utilities/winscp.md) для Windows или scp для Linux.

### Удалить файл <a href="#remove-file" id="remove-file"></a>

![Удалить файл](/files/-M585VCANzrPGpAHeq7O)

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

### Выключить видеокамеру

![Выключить видеокамеру](/files/-M585R708SOuIH77Yor8)

Выключает видеокамеру.

### Отключить видеотрансляцию

![Отключить видеотрансляцию](/files/-M585Ne4AyFOPT5ZBdT1)

Останавливает видеотрансляцию с камеры робота.

### Калибровка гироскопа

<img src="/files/-M585JdJVY7Fqut3m6b8" alt="Калибровка гироскопа" width="188">

Устанавливает гироскоп в 0 в текущей позиции.

### Join network

<figure><img src="/files/BjsgU5SYtQhJ1zxMkgq9" alt="" width="157"><figcaption><p>Join network</p></figcaption></figure>

Устанавливает соединение между роботами и объединяет их в одну сеть.\
Имеет 3 свойства: **Address**, **Порт** и **Бортномер**.\
В свойстве **Address** указывается ip-адрес робота или экземпляра TRIK Studio, к которой он подключается.\
В свойстве **Порт** указываем номер порта, начиная с -1. Следующий экземпляр TRIK Studio будет иметь номер 0, следующий 1 и так далее.\
В свойстве **Бортномер** указывается бортномер вашего робота или TRIK Studio, начиная с 1. Если у нескольких роботов будет одинаковый бортномер, то они будут объединены в группу.

## Блоки ожидания <a href="#waiting-blocks" id="waiting-blocks"></a>

| Вид                                                                 |                                                Название                                               | Описание                                                                                                                                              |
| ------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="/files/-M57ypVi6IEo1RijFtkO" alt="" data-size="original"> | [Получить сообщение из другой задачи](/trik/programming-visual/blocks.md#receive-message-from-thread) | Ждать получения сообщения из другой параллельной задачи.                                                                                              |
| ![](/files/-MHFotHDB2zv6DZZh-ty)                                    |                 [Пользовательский ввод](/trik/programming-visual/blocks.md#userinput)                 | Ждать ввода значения от пользователя.                                                                                                                 |
| <img src="/files/-M57zKmUw9MPthrXRzuK" alt="" data-size="original"> |                [Ждать гиродатчик](/trik/programming-visual/blocks.md#zhdat-girodatchik)               | Ждать, пока значение, возвращаемое гиродатчиком на указанном порту, не будет сравнимо с указанным в значении параметра «градусы».                     |
| <img src="/files/-M57zO8T739p60_XRLhD" alt="" data-size="original"> |            [Ждать датчик касания](/trik/programming-visual/blocks.md#wait-for-touch-sensor)           | Ждать срабатывания датчика касания на указанном порту.                                                                                                |
| <img src="/files/-M57zS2SvVfh9Rfjox1U" alt="" data-size="original"> |                    [Ждать свет](/trik/programming-visual/blocks.md#wait-for-light)                    | Ждать, пока значение, возвращаемое сенсором света на указанном порту, не будет сравнимо с указанным значением в параметре «Проценты».                 |
| <img src="/files/-M57zbAEV2VNZIm3dNmT" alt="" data-size="original"> |     [Ждать УЗ датчик расстояния](/trik/programming-visual/blocks.md#wait-for-ultrasonic-distance)     | Ждать, пока расстояние, возвращаемое ультразвуковым сенсором расстояния, не будет сравнимо со значением, указанным в параметре «Расстояние».          |
| <img src="/files/-M57zi--uScH_i_9EzPI" alt="" data-size="original"> |      [Ждать ИК датчик расстояния](/trik/programming-visual/blocks.md#wait-for-infrared-distance)      | Ждать, пока расстояние, возвращаемое инфракрасным сенсором расстояния, не будет сравнимо с указанным в значении параметра «Расстояние».               |
| <img src="/files/-M57zl2xDEXflqasoKBr" alt="" data-size="original"> |                  [Ждать энкодер](/trik/programming-visual/blocks.md#wait-for-encoder)                 | Ждать, пока показания счетчика количества оборотов на заданном порту не станут больше или меньше указанного в значении параметра «Предел оборотов».   |
| <img src="/files/-M57zo5QhGbG1jYYl-bW" alt="" data-size="original"> |               [Ждать нажатия кнопки](/trik/programming-visual/blocks.md#wait-for-button)              | Ждать, пока не будет нажата указанная кнопка на корпусе робота.                                                                                       |
| <img src="/files/-M57zvnNNubsZZCgmTUu" alt="" data-size="original"> |               [Получить сообщение](/trik/programming-visual/blocks.md#wait-for-message)               | Ждать получения сообщения через систему почтовых ящиков. Когда сообщение будет получено, оно будет помещено в указанную в параметре блока переменную. |
| <img src="/files/-M57zzClLKdwrmgj9ATp" alt="" data-size="original"> |          [Ждать кнопки на пульте](/trik/programming-visual/blocks.md#wait-for-gamepad-button)         | Ждать нажатия на кнопку на пульте, подключённом к роботу.                                                                                             |
| <img src="/files/-M58-6B1MYOp6WYtyfhO" alt="" data-size="original"> |            [Ждать нажатия на пульт](/trik/programming-visual/blocks.md#wait-for-pad-press)            | Ждать нажатия на одну из двух активных областей пульта, подключённого к роботу.                                                                       |
| <img src="/files/-M58-9LnSPpJnIP9plqI" alt="" data-size="original"> |          [Ждать "руля" на пульте](/trik/programming-visual/blocks.md#wait-for-gamepad-wheel)          | Ждать нужного наклона пульта, подключённого к роботу.                                                                                                 |
| <img src="/files/-M58-C66OVf_TIch0RDx" alt="" data-size="original"> |       [Ждать отключения пульта](/trik/programming-visual/blocks.md#wait-for-gamepad-disconnect)       | Ждать, пока пульт не отключится от робота. Если пульт не подключен, программа продолжит выполнение.                                                   |
| <img src="/files/-M58-E9XVfErkA5ANFEw" alt="" data-size="original"> |        [Ждать подключения пульта](/trik/programming-visual/blocks.md#wait-for-gamepad-connect)        | Ждать, пока к роботу не подключится пульт. Если пульт уже подключен, программа продолжит выполнение.                                                  |

### Получить сообщение из другой задачи <a href="#receive-message-from-thread" id="receive-message-from-thread"></a>

![Получить сообщение из другой задачи](/files/-M587b6vLBc_UZlx81sw)

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

### Пользовательский ввод <a href="#userinput" id="userinput"></a>

![Пользовательский ввод](/files/-MHFoZWxXEMPetF10goi)

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

#### Свойства

Блок «Пользовательский ввод» имеет 3 свойства:

| Свойство         | Описание                          |
| ---------------- | --------------------------------- |
| **Переменная**   | Имя переменной.                   |
| **По умолчанию** | Значение переменной по умолчанию. |
| **Текст**        | Описание поля ввода.              |

**Пример**

| **Программа**                                                | Исполнение программы                                         |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| <p></p><p><img src="/files/-MHFu3BiOxwlNUiB9itw" alt=""></p> | <p></p><p><img src="/files/-MHFu8R6EJhWeXYr84xh" alt=""></p> |

### Ждать гиродатчик

![Ждать гиродатчик](/files/-M587eGNbbB8tI78mu04)

Ждать, пока значение, возвращаемое гиродатчиком на указанном порту, не будет сравнимо с указанным в значении параметра «градусы».

### Ждать датчик касания <a href="#wait-for-touch-sensor" id="wait-for-touch-sensor"></a>

![Ждать датчик касания](/files/-M587gpayfJef9HH-JnS)

Ждать срабатывания датчика касания на указанном порту.

### Ждать свет <a href="#wait-for-light" id="wait-for-light"></a>

![Ждать свет](/files/-M587Yu5kT5w4dpSGisS)

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

### Ждать УЗ датчик расстояния <a href="#wait-for-ultrasonic-distance" id="wait-for-ultrasonic-distance"></a>

![Ждать УЗ датчик расстояния](/files/-M587WCP5OjHG86wu2Zm)

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

### Ждать ИК датчик расстояния <a href="#wait-for-infrared-distance" id="wait-for-infrared-distance"></a>

![Ждать ИК датчик расстояния](/files/-M587SIFUrsraht9Qbky)

Ждать, пока расстояние, возвращаемое инфракрасным сенсором расстояния, не будет сравнимо с указанным в значении параметра «Расстояние».\
\
По умолчанию на портах A1 и A2 расстояние задается в сантиметрах (от 0 до 100), к остальным подключение не рекомендуется, так как чистое значение с датчика будет обработано с ожиданием другого подключенного датчика.\
\
Еще один параметр — номер порта, к которому подключен датчик расстояния. Также параметром указывается операция, которая будет использоваться для сравнения с введенным расстоянием.

### Ждать энкодер <a href="#wait-for-encoder" id="wait-for-encoder"></a>

![Ждать энкодер](/files/-M587LCzIrUOaTVg9C4b)

Ждать, пока показания счетчика количества оборотов на заданном порту не станут больше или меньше указанного в значении параметра «Предел оборотов».

### Ждать нажатия кнопки <a href="#wait-for-button" id="wait-for-button"></a>

![Ждать нажатия кнопки](/files/-M587I3TRtlzluXsZfN0)

Ждать, пока не будет нажата указанная кнопка на корпусе робота.

### Получить сообщение <a href="#wait-for-message" id="wait-for-message"></a>

![Получить сообщение](/files/-M587FFDQKmimUVl55Ya)

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

### Ждать кнопки на пульте <a href="#wait-for-gamepad-button" id="wait-for-gamepad-button"></a>

![Ждать кнопки на пульте](/files/-M587CGEYyvb_XtS-GUF)

Ждать нажатия на кнопку на пульте, подключённом к роботу. Кнопки имеют номера от 1 до 5.

### Ждать нажатия на пульт <a href="#wait-for-pad-press" id="wait-for-pad-press"></a>

![Ждать нажатия на пульт](/files/-M5878byJ41xEC0fqSm4)

Ждать нажатия на одну из двух активных областей пульта, подключённого к роботу. Координаты нажатия можно получить с помощью сенсорных переменных [«gamepadPad»](/trik/programming-visual/sensory-variables.md#gamepadpad).

### Ждать «руля» на пульте <a href="#wait-for-gamepad-wheel" id="wait-for-gamepad-wheel"></a>

![Ждать «руля» на пульте](/files/-M5876OEn8PE8pe3GwiE)

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

### Ждать отключения пульта <a href="#wait-for-gamepad-disconnect" id="wait-for-gamepad-disconnect"></a>

![Ждать отключения пульта](/files/-M5873VZcqz10PTfhDZr)

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

### Ждать подключения пульта <a href="#wait-for-gamepad-connect" id="wait-for-gamepad-connect"></a>

![Ждать подключения пульта](/files/-M58712VVt04Ex5ZahZt)

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

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

| Вид                                                                 |                                    Название                                   | Описание                                                                                                                                                                                                         |
| ------------------------------------------------------------------- | :---------------------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="/files/-M580iWSqeTAQwq3hWB3" alt="" data-size="original"> |         [Цвет кисти](/trik/programming-visual/blocks.md#painter-color)        | Указать цвет, которым будут рисоваться простые графические фигуры на экране робота.                                                                                                                              |
| <img src="/files/-M580kkbRdA4q-cb10MU" alt="" data-size="original"> |        [Ширина кисти](/trik/programming-visual/blocks.md#painter-width)       | Указать ширину линии, которой будут рисоваться простые графические фигуры на экране робота.                                                                                                                      |
| <img src="/files/-M580nHEEuZ2xfB8PA8Y" alt="" data-size="original"> |       [Нарисовать точку](/trik/programming-visual/blocks.md#draw-pixel)       | Нарисовать на экране точку в указанных координатах.                                                                                                                                                              |
| <img src="/files/-M580r3HM3j4oEEU2KcL" alt="" data-size="original"> |        [Нарисовать линию](/trik/programming-visual/blocks.md#draw-line)       | Нарисовать на экране отрезок. В качестве параметров блоку указываются концы отрезка.                                                                                                                             |
| <img src="/files/-M580pC_bqwcbeEbnung" alt="" data-size="original"> | [Нарисовать прямоугольник](/trik/programming-visual/blocks.md#draw-rectangle) | Нарисовать на экране прямоугольник. В качестве параметров указываются координаты левого верхнего угла, ширина и высота прямоугольника.                                                                           |
| <img src="/files/-M580tMbl4I0nHUrz9s9" alt="" data-size="original"> |      [Нарисовать эллипс](/trik/programming-visual/blocks.md#draw-ellipse)     | Нарисовать на экране эллипс, вписанный в заданный прямоугольник.                                                                                                                                                 |
| <img src="/files/-M580vdpu51HDgOGV-RD" alt="" data-size="original"> |         [Нарисовать дугу](/trik/programming-visual/blocks.md#draw-arc)        | Нарисовать на экране дугу, заданную координатами прямоугольника, в который она будет вписана, и углами (в градусах) её начала и конца на окружности. Если начало и конец совпадают, будет нарисована окружность. |
| <img src="/files/-M580yAPcSOa8aWR-nZA" alt="" data-size="original"> |              [Смайлик](/trik/programming-visual/blocks.md#smile)              | Нарисовать на экране смайлик.                                                                                                                                                                                    |
| <img src="/files/-M581-PnAitsHQgnhcDE" alt="" data-size="original"> |        [Грустный смайлик](/trik/programming-visual/blocks.md#sad-smile)       | Нарисовать на экране грустный смайлик.                                                                                                                                                                           |
| <img src="/files/-M5812dbsuVMqpcwmSPm" alt="" data-size="original"> |        [Цвет фона](/trik/programming-visual/blocks.md#background-color)       | Задаёт цвет фона экрана.                                                                                                                                                                                         |
| <img src="/files/-M5814kvOBCqnro2Pdw5" alt="" data-size="original"> |       [Напечатать текст](/trik/programming-visual/blocks.md#print-text)       | Печатает заданную строку в заданном месте на экране робота. Значение свойства «Текст» по умолчанию трактуется как строка в чистом виде, оно так и будет выведено на экран.                                       |
| <img src="/files/-M5818T918Net1_b0IuL" alt="" data-size="original"> |       [Очистить экран](/trik/programming-visual/blocks.md#clear-screen)       | Стереть всё, что нарисовано на экране.                                                                                                                                                                           |

### Цвет кисти <a href="#painter-color" id="painter-color"></a>

![Цвет кисти](/files/-M587toEF8-BoaHIzvny)

Указать цвет, которым будут рисоваться простые графические фигуры на экране робота.

### Ширина кисти <a href="#painter-width" id="painter-width"></a>

![Ширина кисти](/files/-M587va0sqyrwp6gAlfd)

Указать ширину линии, которой будут рисоваться простые графические фигуры на экране робота.

### Нарисовать точку <a href="#draw-pixel" id="draw-pixel"></a>

![Нарисовать точку](/files/-M587xh14MetvhWCPlAW)

Нарисовать на экране точку в указанных координатах.

### Нарисовать линию <a href="#draw-line" id="draw-line"></a>

![Нарисовать линию](/files/-M587zY89sIny2uEiT9H)

Нарисовать на экране отрезок. В качестве параметров блоку указываются концы отрезка.

### Нарисовать прямоугольник <a href="#draw-rectangle" id="draw-rectangle"></a>

![Нарисовать прямоугольник](/files/-M5880LQSXqGtFcxaM63)

Нарисовать на экране прямоугольник. В качестве параметров указываются координаты левого верхнего угла, ширина и высота прямоугольника.

### Нарисовать эллипс <a href="#draw-ellipse" id="draw-ellipse"></a>

![Нарисовать эллипс](/files/-M5882RNQ_qc7GRcY0aQ)

Нарисовать на экране эллипс, вписанный в заданный прямоугольник.

### Нарисовать дугу <a href="#draw-arc" id="draw-arc"></a>

![Нарисовать дугу](/files/-M58860UAVYhHUnttrW6)

Нарисовать на экране дугу, заданную координатами прямоугольника, в который она будет вписана, и углами (в градусах) её начала и конца на окружности. Если начало и конец совпадают, будет нарисована окружность.

### Смайлик <a href="#smile" id="smile"></a>

![Смайлик](/files/-M5888W2NZjgbWIXO_Ra)

Нарисовать на экране смайлик.

### Грустный смайлик <a href="#sad-smile" id="sad-smile"></a>

![Грустный смайлик](/files/-M588AfNbHIM1rJapqM6)

Нарисовать на экране грустный смайлик.

### Цвет фона <a href="#background-color" id="background-color"></a>

![Цвет фона](/files/-M588GN40A8ngsrNEaso)

Задаёт цвет фона экрана.

### Напечатать текст <a href="#print-text" id="print-text"></a>

![Напечатать текст](/files/-M588IPKZ_dNh7NmOk9-)

Печатает заданную строку в заданном месте на экране робота.

#### Свойства

| Свойство          | Значение                                                                                              |
| ----------------- | ----------------------------------------------------------------------------------------------------- |
| Вычислять         | <p>Истина — вывод на экран значения переменной или выражения.</p><p>Ложь — вывод на экран текста.</p> |
| Текст             | Текст / имя переменной (выражение) для вывода на экран.                                               |
| Обновить картинку | <p>Истина — обновить экран.<br>Ложь — не обновлять экран.</p>                                         |
| X, Y              | Координаты начала текста.                                                                             |
| Размер            | Размер шрифта в пикселях (необязательный параметр, по-умолчанию шрифт размером 20 пикселей).          |

#### Как вывести текст на экран?

Для вывода текста:

1. В свойстве «Текст» напишите нужный текст.
2. Уберите галочку в свойстве «Вычислять».

#### Как вывести значение переменной на экран?

Для вывода значения переменной:

1. В свойстве «Текст» напишите имя переменной.
2. Поставьте галочку в свойстве «Вычислять».

### Очистить экран <a href="#clear-screen" id="clear-screen"></a>

![Очистить экран](/files/-M588KBGD8M1LWAwR_li)

Стереть всё, что нарисовано на экране.
