Arducam Shield Mini 2MP Plus
1. Введение
Arducam Shield Mini 2MP Plus — последняя версия камеры Mini 2MP: SPI-камера высокой чёткости на 2 Мп, которая упрощает интерфейс управления камерой. На миниатюрной плате установлен КМОП-сенсор OV2640 на 2 Мп; к нему прилагаются простой в использовании аппаратный интерфейс и библиотека с открытым исходным кодом. Arducam Mini работает на любой платформе с интерфейсами SPI и I2C — Arduino, Raspberry Pi, Maple, Chipkit, BeagleBone Black — и хорошо сочетается со стандартными платами Arduino. Arducam Mini позволяет добавить интерфейс камеры недорогим микроконтроллерам, у которых его нет, а также подключить несколько камер к одному микроконтроллеру.
2. Особенности
- Сенсор OV2640 на 2 Мп
- Держатель объектива с креплением M12 или CS и сменными объективами
- Чувствительность к ИК при подходящем объективе
- Интерфейс I2C для настройки сенсора
- Интерфейс SPI для команд камеры и потока данных
- Все порты ввода-вывода допускают уровни 5 В и 3,3 В
- Режим сжатия JPEG, режимы одиночной и многократной съёмки, многократное чтение одного снимка, пакетное чтение, режим низкого энергопотребления и др.
- Хорошо сочетается со стандартными платами Arduino
- Библиотеки с открытым исходным кодом для Arduino, STM32, Chipkit, Raspberry Pi, BeagleBone Black
- Компактные размеры
3. Основные характеристики
| Параметр | Значение |
|---|---|
| Потребляемая мощность | Обычный режим: 5 В / 70 мА; режим низкого энергопотребления: 5 В / 20 мА |
| Активная область | 1600 × 1200 |
| Скорость SPI | 8 МГц |
| Объектив | 1/4" |
| Буфер кадров | 8 МБ |
| Поддерживаемые разрешения | UXGA, SVGA, VGA, QVGA, CIF, QCIF |
| Поддерживаемые форматы | YUV, JPEG |
| Размеры | 34 × 24 мм |
| Масса | 20 г |
| Рабочая температура | −10…+55 °C |
4. Назначение выводов
| № вывода | Название | Тип | Описание |
|---|---|---|---|
| 1 | CS | Вход | Выбор ведомого устройства SPI |
| 2 | MOSI | Вход | Выход ведущего, вход ведомого SPI |
| 3 | MISO | Выход | Вход ведущего, выход ведомого SPI |
| 4 | SCLK | Вход | Тактовый сигнал SPI |
| 5 | GND | Земля | Земля питания |
| 6 | VCC | Питание | Питание 3,3–5 В |
| 7 | SDA | Двунаправленный | Данные двухпроводного последовательного интерфейса (ввод-вывод) |
| 8 | SCL | Вход | Тактовый сигнал двухпроводного последовательного интерфейса |
5. Функции
5.1. Режим одиночной съёмки
Режим одиночной съёмки — режим камеры по умолчанию. После команды съёмки по SPI камера ждёт новый кадр, целиком записывает его в буфер кадров и выставляет флаг завершения в регистре. Чтобы узнать, закончена ли съёмка, достаточно опрашивать этот флаг.
5.2. Режим многократной съёмки
Режим многократной съёмки — расширенный режим. Если задать число кадров в регистре съёмки, после команды съёмки камера снимет заданное число кадров подряд.
5.3. Режим записи коротких роликов
Режим записи коротких роликов — расширенный режим. Если задать максимальное число кадров в соответствующем регистре, камера будет снимать кадры подряд, пока не заполнится буфер кадров объёмом 8 МБ.
5.4. Сжатие JPEG
Сжатие JPEG выполняется в самом сенсоре. Правильно настроив регистры сенсора, можно получать поток изображений JPEG с разным разрешением.
5.5. Обычное и пакетное чтение
При обычном чтении каждая единица данных изображения читается своей командой чтения в отдельном цикле чтения SPI. При пакетном чтении команда чтения отправляется один раз, после чего в одном цикле чтения SPI читается сразу много данных изображения. Для большей пропускной способности рекомендуется пакетное чтение.
5.6. Повторное чтение
Иногда для обработки нужно прочитать один и тот же кадр несколько раз — для этого и предназначено повторное чтение. Если сбросить указатель чтения на начало данных изображения, тот же кадр можно прочитать с начала ещё раз.
5.7. Режим низкого энергопотребления
Устройствам с батарейным питанием нужно экономить энергию в режиме ожидания. Для этого у камеры есть режим низкого энергопотребления: он отключает сенсор и схемы памяти.
5.8. Управление сенсором
Управление изображением выполняется в самом сенсоре. Задав нужный набор значений регистров, можно управлять экспозицией, балансом белого, яркостью, контрастом, насыщенностью и другими параметрами.
6. Подключение оборудования
6.1. Подключение одной камеры
Типовое подключение платы-шилда Arducam к Arduino и другим платформам показано на рис. 1, а на рис. 2 — подключение к плате Arduino UNO R3.

Рис. 1. Типовая схема подключения

Рис. 2. Подключение к Arduino UNO R3
6.2. Подключение нескольких камер
Подключение нескольких камер с платами-шилдами Arducam к Arduino и другим платформам показано на рис. 3, а на рис. 4 — подключение нескольких камер к плате Arduino UNO R3.

Рис. 3. Подключение нескольких камер

Рис. 4. Подключение нескольких камер к Arduino UNO
7. Интерфейс I2C
Интерфейс I2C подключён напрямую к сенсору OV2640. Перед началом работы сенсор нужно правильно инициализировать, иначе он ничего не выдаёт. Адрес ведомого устройства I2C у OV2640 — 0 × 60 для записи и 0 × 61 для чтения. Ведущее устройство I2C может читать и записывать все регистры сенсора OV2640. Подробнее о регистрах OV2640 — в даташите OV2640. На рис. 5 показана запись значения 0 × 01 в регистр OV2640 0xFF, на рис. 6 — чтение значения 0 × 26 из регистра OV2640 0 × 0A.

Рис. 5. Временная диаграмма записи по шине I2C

Рис. 6. Временная диаграмма чтения по шине I2C
8. Ведомый интерфейс SPI
Ведомый интерфейс SPI камеры работает в фиксированном режиме SPI 0 с POL = 0 и PHA = 1. Максимальная частота SCLK — 8 МГц, превышать её нельзя. Протокол SPI состоит из фазы команды и фазы данных переменной длины. Сигнал выбора микросхемы должен оставаться активным в течение всего цикла чтения или записи по шине SPI. Подробные временные диаграммы SPI — в главе об Arduchip.
9. Варианты объективов
Камера Arducam Shield Mini 2MP Plus поставляется со стандартным объективом LS-4011 (крепление M12). Другие варианты объективов — на странице объективов Arducam.
Для камер Arducam подобраны два набора объективов — подробнее см. LK001 и LK002.
10. Габаритные размеры
