> 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/work-with-devices/video.md).

# Подключение и работа с видеомодулем

К контроллеру ТРИК можно подключать как видеомодули, так и веб-камеры с интерфейсом USB.

|                                                                                                                                                          Видеомодуль                                                                                                                                                          |                                                                                                                                            Веб-камера                                                                                                                                           |
| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| <img src="https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5X3W61MUO-dwjxeo56%2F-M5X5mqWQFXo0iy-zQYJ%2F%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C.png?alt=media&amp;token=5f334e50-b93c-4cd2-9aa0-eb05eca501fc" alt="" data-size="original"> | <img src="https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5X3W61MUO-dwjxeo56%2F-M5X5kM8Cv7fG_P9aqFy%2F%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0.png?alt=media&amp;token=b1b80e68-2c91-4ac1-b632-0d7c12a6955d" alt="" data-size="original"> |

## Подключение

Видеомодуль подключается к порту **video1** или **video2**, USB веб-камеры — к порту **USB**.

Подключение видеомодуля к порту **video2 (**&#x438;ли **video1)** происходит таким образом, чтобы ножка у красного штекера была справа.\
&#x20;&#x20;

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5X3W61MUO-dwjxeo56%2F-M5X5P-basy9dLHBDL4W%2F%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80_%D1%80%D0%B0%D0%B7%D1%8A%D0%B5%D0%BC%D1%8B.png?alt=media\&token=de63f8cd-c959-4eb4-9810-53c88f1d39a7)

## Использование

Камеру в TRIK Studio можно запустить в трех режимах:

1. &#x20;[Как сенсор линии (linesensor)](/trik/work-with-devices/video.md#linesensor).
2. &#x20;[Как сенсор объектов (objectsensor)](/trik/work-with-devices/video.md#objectsensor).
3. &#x20;[Как сенсор цвета (colorsensor)](/trik/work-with-devices/video.md#colorsensor).

Для инициализации видеокамеры напишите алгоритм:&#x20;

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5XGTOCBNvS0EaYpYBS%2F-M5XJkPMQnk-1zhOzBnk%2F%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F.png?alt=media\&token=c783b920-9696-41d1-9f22-1fa0772606de)

После инициализации камеры на дисплее появится трансляция видео с дополнительными графическими элементами.&#x20;

{% hint style="warning" %}
**Внимание!** По умолчанию будет включен режим **`Сенсор линии`**.  Чтобы поменять режим использования, зайдите в свойства блока «Включить видеокамеру» и смените режим на нужный.
{% endhint %}

## LineSensor

Камера как сенсор линии необходима для решения задачи движения по линии, а также по прерывистой линии (линии-профи).

Для того чтобы включить камеру как сенсор линии, вам необходимо изменить режим работы камеры в свойствах блока [«Включить видеокамеру»](/trik/programming-visual/blocks.md#initialize-videocamera), на `Сенсор линии`. Режим `Сенсор линии` имеет сенсорную переменную [lineSensor](/trik/programming-visual/sensory-variables.md#linesensor).&#x20;

#### Пример

Задача: напишите алгоритм движения робота по линии с использованием камеры.

#### Написание алгоритма

1\. Объявите переменную `k` — коэффициент пропорциональности, который будет использоваться в пропорциональном регуляторе для движения робота.&#x20;

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5XKblVq4uaDH_BupFi%2F-M5XQ4kYBAaKrrgjchKv%2F%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%9B%D0%B8%D0%BD%D0%B8%D0%B81.png?alt=media\&token=3f6daf2e-3f89-46b5-9648-86c6f6246386)

2\. Инициализируйте камеру как сенсор линии.

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5XKblVq4uaDH_BupFi%2F-M5XQ8AZc9SRGD1szzP8%2F%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%9B%D0%B8%D0%BD%D0%B8%D0%B82.png?alt=media\&token=6ca09893-8e22-4242-88c7-45c6cdfed077)

{% hint style="warning" %}
**Внимание!** Блок [«Ждать нажатия кнопки»](/trik/programming-visual/blocks.md#wait-for-button) необходим, чтобы камера успела включиться. Когда на экране робота появится изображение с камеры, можно приступать к следующему пункту.
{% endhint %}

3\. Детектируйте камеру на объекте.

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5XQNKXVOXCXsNceuGC%2F-M5XRi6qeCHTZi97r4ke%2F%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%9B%D0%B8%D0%BD%D0%B8%D0%B82-3.png?alt=media\&token=21001555-b6dd-471a-9f91-06eb717c1d5a)

4\. Напишите регулятор для движения. Используйте блок [«Датчик линии в переменную»](/trik/programming-visual/blocks.md#line-detector-into-variable), который записывает показания отклонения объекта от центра экрана по оси `Х` (от -100 до 100) в переменную, указанную в свойствах. Другими словами, это динамическая ошибка.

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5XKblVq4uaDH_BupFi%2F-M5XQCkhWkVJnIJKye6O%2F%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%9B%D0%B8%D0%BD%D0%B8%D0%B83.png?alt=media\&token=498d5b26-2a42-4ba8-9efe-13f25a2a264e)

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

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5XKblVq4uaDH_BupFi%2F-M5XQEvJpwJgWtCKtfWD%2F%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%9B%D0%B8%D0%BD%D0%B8%D0%B84.png?alt=media\&token=c2393141-c97b-444f-8a53-73f5101090a4)

#### Запуск алгоритма на реальном роботе

1\. Запустите программу на роботе.

2\. Дождитесь, пока включится видеокамера.

3\. В режиме сенсора линии на экране будет отображаться 4 фиолетовые направляющие. Наведите камеру на линию таким образом, чтобы правая граница линии попадала в коридор между двумя правыми направляющими, а левая между двумя левыми.

4\. Нажмите кнопку `Вверх` на контроллере для детектирования объекта (линии).

![](https://thumb.tildacdn.com/tild3466-3731-4536-a331-393238643761/-/resize/240x/-/format/webp/image7.png)

Обратите внимание, что видео транслируется на экран в формате 240×140 px, а это как раз половина экрана.

Чтобы понять, что детектирование произошло, линия должна заполниться желтыми точками, как на картинке:

![](https://thumb.tildacdn.com/tild3165-6632-4635-b137-303930343235/-/resize/240x/-/format/webp/image12.png)

5\. Нажмите кнопку `Вниз`.

## ObjectSensor

Камера как сенсор объекта необходима для решения задач распознавания и отслеживания объектов. Для того чтобы включить камеру как сенсор линии, вам необходимо изменить режим работы камеры, в свойствах блока [«Включить видеокамеру»](/trik/programming-visual/blocks.md#initialize-videocamera), на `Сенсор объекта`.\
Режим `Сенсор объекта` имеет сенсорные переменные: [objectSensorSize, objectSensorX, objectSensorY.](/trik/programming-visual/sensory-variables.md)

#### Пример

Задача: напишите алгоритм распознавания объекта с использованием камеры.

{% hint style="info" %}
**Внимание!** Робот должен выводить в консоль координаты центра объекта и его диаметр в пикселях.
{% endhint %}

#### Написание алгоритма

1\. Инициализируйте камеру как сенсор объекта.

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5XQNKXVOXCXsNceuGC%2F-M5XTFs2GaKhE74aYiPx%2F%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B01.png?alt=media\&token=871303e0-ce1a-420d-9428-691dc7427c89)

{% hint style="info" %}
**Внимание!** Блок «Ждать нажатия кнопки» необходим, чтобы камера успела включиться. Когда на экране робота включиться изображение с камеры, можно приступать к следующему пункту.
{% endhint %}

2\. Детектируйте камеру на объекте.

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5XQNKXVOXCXsNceuGC%2F-M5XTT9fQt9B0eEb-HZt%2F%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B02.png?alt=media\&token=1ab1330e-cf8a-428d-8bd1-d1d9e6ca78ad)

3\. Напишите цикл с условием на выход из программы по нажатию на `Esc` на ложной ветке.

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5XQNKXVOXCXsNceuGC%2F-M5XUyIwm1OTAduAs9t5%2F%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B03.png?alt=media\&token=616386c5-1d58-41c8-94b7-fec0d4ef2ccf)

4\. На истинную ветку добавьте функцию присвоения координат центра объекта и диаметр в пикселях, переменным `a`, `b`, `c`.

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5XQNKXVOXCXsNceuGC%2F-M5XYNC4IVZ07HlDaF2m%2F%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B04.png?alt=media\&token=14f61811-0e96-4d15-a4d8-bf8b76a6b131)

5\. Далее добавьте вывод в консоль переменных `a`, `b`, `c` и закончите цикл блоком [«Таймер»](/studio/programming-visual/blocks.md#timer):

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5XQNKXVOXCXsNceuGC%2F-M5XZzWz9CJpO9YlqPVx%2F%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B05.png?alt=media\&token=0a092a69-d8a5-4f53-a39f-31d53775977c)

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

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5XQNKXVOXCXsNceuGC%2F-M5X_lxbntUBXP5eczIe%2F%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B06.png?alt=media\&token=01140253-7fe9-47cd-acd0-827a4ead04b8)

#### Запуск алгоритма на реальном роботе

1 . Запустите программу на роботе.

2\. Дождитесь, пока включится видеокамера.

3\. Поставьте робота таким образом, чтобы камера была направлена маленьким квадратом на объект. Нажмите кнопку `Вверх` на контроллере, для детектирования объекта.

![](https://thumb.tildacdn.com/tild6366-6562-4665-b066-656336636439/-/resize/240x/-/format/webp/image1.png)

Чтобы понять, что детектирование произошло, объект должен заполниться желтыми точками, как на картинке:

![](https://thumb.tildacdn.com/tild3961-3034-4236-a536-653062373966/-/resize/240x/-/format/webp/image20.png)

&#x20;4\. Нажмите кнопку `Вниз` на контроллере.

## ColorSensor

Камера как сенсор цвета необходима для решения задач распознавания цвета.

Для того чтобы включить камеру как сенсор линии, вам необходимо изменить режим работы камеры, в свойствах блока [«Включить видеокамеру»](/trik/programming-visual/blocks.md#initialize-videocamera), на `Сенсор цвета`.

Режим `Сенсор цвета` имеет сенсорные переменные трех цветов (красный, зеленый, синий): [colorSensorR, colorSensorG, colorSensorB](/trik/programming-visual/sensory-variables.md#colorsensor).

В режиме сенсора цвета камера делит кадр на 9 зон и возвращает среднее значение цвета центральной зоны.

#### Пример

Напишите алгоритм распознавания зеленого и красного цвета с использованием камеры. Робот должен выводить в консоль цвет, который видит.

{% hint style="info" %}
Обратите внимание, что решить задачу можно только на реальном роботе.
{% endhint %}

#### Написание алгоритма

1\. Инициализируйте камеру как сенсор цвета.

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5X_v5VnQREUUHPV1Op%2F-M5XbX-DLrLHaUsK19cJ%2F%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%A6%D0%B2%D0%B5%D1%82%D0%B01.png?alt=media\&token=1fdc1d15-a284-4925-9b70-6eaedeecca6f)

{% hint style="info" %}
**Внимание!** Блок [«Ждать нажатия кнопки»](/trik/programming-visual/blocks.md#wait-for-button) необходим, чтобы камера успела включиться. Когда на экране робота включиться изображение с камеры, можно приступать к следующему пункту.
{% endhint %}

2\. Добавьте функцию присвоения сенсорных переменных, переменным `a`, `b`.

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5X_v5VnQREUUHPV1Op%2F-M5Xbjc4z7V9067VDlgk%2F%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%A6%D0%B2%D0%B5%D1%82%D0%B02.png?alt=media\&token=93da59f7-c5c4-415c-ac86-c53e881410f4)

3\. Напишите условие, которое будет различать красный и зеленый. Учитывая, что красный — это `colorSensorR = 255` , а зеленый — это `colorSensorG = 255` .

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5X_v5VnQREUUHPV1Op%2F-M5XdTgGSte266bETc3V%2F%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%A6%D0%B2%D0%B5%D1%82%D0%B03.png?alt=media\&token=c5440d74-366a-4e66-9430-9503406b8bc6)

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

![](https://2170735180-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9YMGCK0ySSnTAiseS%2F-M5X_v5VnQREUUHPV1Op%2F-M5XdWGa3UMQBEuSHj56%2F%D0%A1%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%A6%D0%B2%D0%B5%D1%82%D0%B04.png?alt=media\&token=0672e67f-780a-4a0e-887d-ef12fc65f2a3)

#### Запуск алгоритма на реальном роботе

1\. Исполните программу на роботе.\
2\. Дождитесь, пока включится видеокамера.\
3\. Поставьте робота таким образом, чтобы камера была направлена на распознаваемый цвет.

![](https://thumb.tildacdn.com/tild3033-3935-4931-b331-613835333636/-/resize/240x/-/format/webp/image2.png)

4\. Нажмите кнопку `Вверх` на контроллере для начала распознавания цвета. На экран робота должен выводиться цвет, на который направлена камера (Green, Red).<br>
