# Управление роботом с пульта

Для управления роботом с [пульта](/gamepad/about.md) необходимо написать программу и запустить её на роботе.

## Пример взаимодействия с пультом

1. Напишите [алгоритм](/gamepad/remote-control.md#algorithm) для использования пульта в TRIK Studio.
2. [Подключите](/trik/wi-fi.md) контроллер к компьютеру и [загрузите](/trik/run-upload-programs.md) написанную программу на робота.
3. [Подключите](/trik/wi-fi.md) смартфон к контроллеру, выбрав сеть контроллера.
4. Откройте приложение [TRIK Gamepad](/gamepad/about/app.md) на вашем смартфоне.
5. [Выполните](/trik/run-upload-programs.md) алгоритм на контроллере.

## Алгоритм программы <a href="#algorithm" id="algorithm"></a>

1\. Введите переменные для координат касания до геймпада — `x` и `y` — и инициализируйте их, присвоив им нулевые значения в блоке «[Выражение](/studio/programming-visual/blocks.md#expression)»:

![](/files/-M5QZv3iEfOh_w4_uJ1q)

2\. Добавьте блок «[Ждать подключения пульта](/trik/programming-visual/blocks.md#wait-for-gamepad-connect)»:

![](/files/-M5Q_ErDlsXRTaNFvTyQ)

3\. Для проверки нажатия на геймпаде на левую область (Pad1) добавьте блок «[Условие](/studio/programming-visual/blocks.md#condition)» с условием [`gamepadPad1Pressed`](/trik/programming-visual/sensory-variables.md#gamepadpad-1-pressed-gamepadpad-2-pressed) `> 0`:

![](/files/-M5Q_aChO-PHoazDquRW)

4\. В случае, если касания нет, необходимо моторы останавливать. Для этого добавьте блок «[Моторы стоп](/trik/programming-visual/blocks.md#stop-motors)»:

![](/files/-M5Qa-NZV-MT2pBsyxTH)

5\. Если на геймпаде нажата область [Pad1](/gamepad/about/app.md), необходимо получить координаты касания. Для этого используйте массив [`gamepadPad1`](/trik/programming-visual/sensory-variables.md#gamepadpad-1-gamepadpad2) в блоке «[Выражение](/studio/programming-visual/blocks.md#expression)»:

![](/files/-M5QZ7aCwi7lDQ6siXl4)

6\. После получения координат добавьте простой регулятор с помощью блоков «[Моторы вперед](/trik/programming-visual/blocks.md#motors-forward)». Смещение по координате `Y` отвечает за скорость робота, а по `X` — за поворот.

![](/files/-M5QaQoAcNGDwMbMbLap)

7\. Для замыкания условия добавьте блок «[Таймер](/studio/programming-visual/blocks.md#timer)» со значением `100 мc` (в программе это время для нового обращения к пульту).

![](/files/-M5QanNwcyi8sus3cqsM)

8\. Замкните цикл на блоке «Условие» связью от блока «Таймер».

![](/files/-M5QYGnY50X_dETc0t_3)

9\. Если у вас есть видеокамера, добавьте блок «[Запустить видеотрансляцию](/trik/programming-visual/blocks.md#camera-on)» в начало программы:                                                                                 &#x20;

![](/files/-M5Qb2waEdMK79ZwCM0o)

### Общий вид алгоритма

![](/files/-M5QXa7OgcDHEeCERO_b)

{% hint style="info" %}
Готовую программу вы можете найти в корневой папке с TRIK Studio `/examples/trik/remoteControl` или скачать [здесь](https://dl.trikset.com/trikset-help/remoteControl.qrs).
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.trikset.com/gamepad/remote-control.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
