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

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

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

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

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

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

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5QWzx9UuoXk22jk_lO%2F-M5QZv3iEfOh_w4_uJ1q%2FGamepad1.png?alt=media\&token=8fc5872d-cb6c-4da7-a1e7-56c946ded877)

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

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5QWzx9UuoXk22jk_lO%2F-M5Q_ErDlsXRTaNFvTyQ%2FGamepad2.png?alt=media\&token=3a0d7143-5bfc-4ded-bfb8-504b432eafba)

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

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5QWzx9UuoXk22jk_lO%2F-M5Q_aChO-PHoazDquRW%2FGamepad3.png?alt=media\&token=d126e8a5-21e3-4710-acbe-0fc39ba7f1e3)

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

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5QWzx9UuoXk22jk_lO%2F-M5Qa-NZV-MT2pBsyxTH%2FGamepad4.png?alt=media\&token=7c37df4a-f067-464a-a98d-aa4c78d6daa3)

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

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5QWzx9UuoXk22jk_lO%2F-M5QZ7aCwi7lDQ6siXl4%2FGamepad5.png?alt=media\&token=5bc49de2-cfd6-4f58-ac3e-f0cf0bd47394)

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

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5QWzx9UuoXk22jk_lO%2F-M5QaQoAcNGDwMbMbLap%2FGamepad6.png?alt=media\&token=628bebbd-10a5-4f69-91d0-8979542b4cb7)

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

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5QWzx9UuoXk22jk_lO%2F-M5QanNwcyi8sus3cqsM%2FGamepad7.png?alt=media\&token=9384b8d2-f21c-4feb-bc5f-a656b27925f6)

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

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5QWzx9UuoXk22jk_lO%2F-M5QYGnY50X_dETc0t_3%2FGamepad8.png?alt=media\&token=544cd9be-5939-4376-be66-ff06a702306d)

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

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5QWzx9UuoXk22jk_lO%2F-M5Qb2waEdMK79ZwCM0o%2FGamepad9.png?alt=media\&token=9c9dd4da-96fd-44d3-b121-f9676209dec9)

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

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5QWzx9UuoXk22jk_lO%2F-M5QXa7OgcDHEeCERO_b%2FGamepad10.png?alt=media\&token=43f75153-214c-43c3-8a77-b1fe772c238e)

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