OpenMV M7 — это система компьютерного зрения в виде компактного модуля камеры с низким энергопотреблением. Она отличается от обычных камер дополнительной начинкой с микроконтроллером для обработки изображения на лету и управления внешними устройствами. Камера OpenMV M7 позволяет сделать умную систему видеонаблюдения с распознаванием лиц, цифровое зрение для робота или систему сортировки на производстве.
Захватом изображения занимается светочувствительная КМОП-матрица OmniVision OV7725 размером 1/3″ с разрешением 640×480 (VGA). Камера может снимать видео в 8-битном режиме оттенков серого или цветном 16-битном формате RGB565 с частотой 60 кадров в секунду. Поддерживаются форматы сжатия MJPEG, GIF и несжатое видео RAW. Рядом с камерным модулем расположена ИК-подсветка из двух светодиодов для съёмки в темноте.
Объектив с фокусным расстоянием 2,8 мм и диафрагмой F2.0 использует стандартную резьбу M12 с шагом 0,5 мм, поэтому к OpenMV M7 подходят сменные объективы от GoPro и других портативных камер.
За обработку изображения отвечает 32-битный процессор STM32F765VIT6 от компании STMicroelectronics с вычислительным ядром ARM Cortex-M7. Контроллер работает на тактовой частоте до 216 МГц и обладает блоками памяти SRAM на 512 КБ и Flash на 2 МБ.
Начинка позволяет выполнять алгоритмы компьютерного зрения разной сложности:
Для записи видео и хранения рабочих данных используются карты microSD объёмом до 32 ГБ. Скорость чтения и записи до 100 Мбит/с позволяет оперативно подгружать объекты для машинного зрения.
Для программирования платформы используется язык MicroPython и среда разработки OpenMV IDE с поддержкой русского языка. Она объединяет в себе редактор программного кода, просмотр видеобуфера камеры и построение RGB-гистограмм в реальном времени, чтобы упростить процесс отладки.
Благодаря поддержке MicroPython вам доступна масса готовых библиотек для управления периферией и оптимизированными для микроконтроллеров алгоритмами обработки изображений. Это позволяет быстрее запрограммировать свою систему на основе существующих «кирпичиков», а не писать всё с нуля.
На OpenMV M7 предусмотрено 10 контактов ввода-вывода общего назначения (GPIO) для подключения внешних устройств. Все 10 пинов поддерживают прерывания, и 9 из них — ШИМ. Пин P6 также оснащён 12-разрядными АЦП и ЦАП для подключения аналоговой периферии. А ещё три пина предназначены для управления сервоприводами.
На пинах выдаётся логическое напряжение 3,3 В и ток до 25 мА, но они толерантны к входному напряжению 5 В (кроме пина P6).
Аппаратные интерфейсы включают в себя 1× SPI, 1× CAN, 2× I²C и 2× UART.
Плата питается через разъём Micro-USB или контакт Vin, источник определяется автоматически. При питании через USB подойдёт наш блок питания с кабелем USB (A — Micro USB). В случае питания через Vin рекомендуется входное напряжение от 3,6 до 5 В.