К содержимому
  1. Главная
  2. Блог
  3. Мультиплексор камер для Raspberry Pi 4: решения Arducam для ваших задач и планы на будущее

Мультиплексор камер для Raspberry Pi 4: решения Arducam для ваших задач и планы на будущее

7 августа 2019 · По материалам Arducam

Стереоадаптер Arducam для двух камер на Raspberry Pi Zero
Стереоадаптер для Raspberry Pi Zero
Адаптер Arducam B0120 для нескольких камер Raspberry Pi

Введение: что мешает подключить две камеры к Raspberry Pi

Многие пользователи Raspberry Pi замечают, что на плате только один разъём камеры. На самом деле процессоры последних моделей, например Pi 3 и Pi 4, поддерживают две камеры, но на стандартных платах Raspberry Pi выведен только один интерфейс. На модулях Raspberry Pi Compute Module выведены оба, но для них нужна специальная несущая плата, и среди мейкеров они распространены мало.

Задача: зачем нужны несколько камер или стереокамера для Raspberry Pi 4 и других моделей

Что делать, если для особой задачи нужны несколько камер? Пожалуй, самое простое решение сейчас — объединить несколько плат Raspberry Pi с камерами. Это работает, но заметно усложняет проводку, увеличивает энергопотребление и занимает больше места. В итоге стоимость развёртывания может оказаться гораздо выше ожидаемой.

Решение: адаптеры Arducam для нескольких камер

За последние годы Arducam разработала и выпустила два типа адаптеров для нескольких камер Raspberry Pi: один позволяет подключить две камеры Pi к одной Pi Zero, другой — подключить четыре камеры Pi к одной плате серий A и B. Оба мультиплексора совместимы со стандартными драйверами камер Pi на 5 Мп (OV5647) и 8 Мп (IMX219), так что уже имеющиеся камеры можно подключить к мультиплексору, и они будут работать как обычно. При этом ограничений на модель Raspberry Pi фактически нет: стереоадаптер можно поставить туда, где стоял мультиплексор на четыре камеры, и наоборот.

В основе этих плат-адаптеров лежит мультиплексирование. Raspberry Pi позволяет подключить и распознаёт только одну камеру, поэтому адаптер переключает каналы и по очереди передаёт видеопотоки разных камер на встроенный порт CSI платы. Raspberry Pi по-прежнему работает с одной камерой, но вы получаете изображение с нескольких точек обзора.

Применение: 3D-сканер, две камеры, видеонаблюдение, камера для дрона и другое

Пример 1. 3D-сканер на камерах Raspberry Pi

Значок 3D-сканера

Восстановление 3D-модели по нескольким снимкам, сделанным с разных ракурсов.

Пример 2. Две камеры (обзор 360°) для Raspberry Pi 4, 3B+, 3A+ и 3

Значок системы из двух камер

Съёмка нескольких изображений в разных направлениях и их сшивка в одно.

*Есть и пример с несколькими камерами SPI: панорамная съёмка на Arduino.

Пример 3. Расширенная система видеонаблюдения на Raspberry Pi 4

Значок камеры видеонаблюдения

Камера видеонаблюдения на базе Raspberry Pi: несколько камер подключены к одной плате и направлены в разные стороны, чтобы охватить всю территорию.

Пример 4. Камера Raspberry Pi для дронов

Значок камеры для дрона

Большинство камер на дронах работают в режиме FPV, а с несколькими камерами можно переключаться на вид сбоку или сзади — так проще выполнять полётное задание.

Ограничения: асинхронное переключение

У такого решения много ограничений. Снимать фото или видео одновременно со всех камер нельзя: можно только переключиться на одну камеру и снять кадр или видео с неё. Камеры работают асинхронно, поэтому при переключении частота кадров может падать вдвое, а испорченные кадры приходится отбрасывать, пока не пойдут нормальные. Сигналы камер CSI-2 — это очень быстрые сигналы MIPI, чувствительные к шуму, затуханию и помехам. Поэтому очень длинные кабели и каскадное подключение адаптеров не поддерживаются.

Что дальше: настоящая стереокамера с полной синхронизацией двух камер Pi

Следующим шагом Arducam готовила настоящую стереокамеру: к ней можно одновременно подключить две камеры Pi с полной синхронизацией.

Обновление: Arducam выпустила синхронную стереоплату HAT для Raspberry Pi, подробнее — здесь.

Ещё по теме

Запросить цену

Укажите количество — пришлём коммерческое предложение.