> 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="/files/-M5X5mqWQFXo0iy-zQYJ" alt="" data-size="original"> | <img src="/files/-M5X5kM8Cv7fG_P9aqFy" alt="" data-size="original"> |

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

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

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

![](/files/-M5X5P-basy9dLHBDL4W)

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

Камеру в 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;

![](/files/-M5XJkPMQnk-1zhOzBnk)

После инициализации камеры на дисплее появится трансляция видео с дополнительными графическими элементами.&#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;

![](/files/-M5XQ4kYBAaKrrgjchKv)

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

![](/files/-M5XQ8AZc9SRGD1szzP8)

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

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

![](/files/-M5XRi6qeCHTZi97r4ke)

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

![](/files/-M5XQCkhWkVJnIJKye6O)

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

![](/files/-M5XQEvJpwJgWtCKtfWD)

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

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\. Инициализируйте камеру как сенсор объекта.

![](/files/-M5XTFs2GaKhE74aYiPx)

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

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

![](/files/-M5XTT9fQt9B0eEb-HZt)

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

![](/files/-M5XUyIwm1OTAduAs9t5)

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

![](/files/-M5XYNC4IVZ07HlDaF2m)

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

![](/files/-M5XZzWz9CJpO9YlqPVx)

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

![](/files/-M5X_lxbntUBXP5eczIe)

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

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\. Инициализируйте камеру как сенсор цвета.

![](/files/-M5XbX-DLrLHaUsK19cJ)

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

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

![](/files/-M5Xbjc4z7V9067VDlgk)

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

![](/files/-M5XdTgGSte266bETc3V)

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

![](/files/-M5XdWGa3UMQBEuSHj56)

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

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

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

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