Модуль видеокамеры и Arduino. Камера работает по стандартам NTSC. Подобные модули отлично вписываются в проекты для реализации фотографии и видеострима. Кроме того, обычно они имеют встроенную возможность настройки яркости и насыщенности цветов, настройки авто- контраста и авто- яркости, дают возможность отслеживать движение. Описание и технические характеристики камеры. NewSoftSerial - усовершенствованная версия библиотеки SoftwareSerial. OneWire - управление устройствами (от Dallas Semiconductor), работающими.Хотелось бы более детально остановиться на том, как именно подобные модули обеспечивают и фото и видеосъемку. Изначально камера была разработана с целью наблюдения. То есть, основная задача была стримить видео с пина Video (в черно- белом цвете) и обрабатывать команды по серийному протоколу связи. С помощью серийного протокола можно запросить у модуля камеры остановить кадр видеосъемки и сохранить полученный кадр в формате JPEG. Тут-то на помощь и приходит AFSoftSerial (и NewSoftSerial) со своими прерываниями. Примерно вот так: #include <NewSoftSerial.h>. Например, модуль камеры в стандартном режиме работы будет стримить видео. Когда камера обнаружит движение, будет сделано фото, которое сохранится на карту памяти для дальнейшего анализа. Разрешение на модуле камеры не большое – максимальный размер фото 6. При этом камера чувствительна к инфракрасному излучению, благодаря чему обнаруживаются изменения в цветопередаче. Основная причина этих недостатков – модуль камеры предназначен для наблюдения, а не качественной фотографии. Существуют модули и с другими параметрами. Рассматриваемый нами – один из самых лучших по своим техническим характеристикам. Технические характеристики модуля камеры. Размер модуля: 3. Фотоматрица: CMOS 1/4 дюйма. Количество пикселей: 0. MРазмер пикселя: 5. Формат на выходе: Стандартный JPEG/M- JPEGБаланс белого: автоматический. Экспозиция: автоматическая. Коэффициент передачи: автоматический. Динамический диапазон: 6. Дб. Максимальное аналоговое усиление: 1. Дб. Скорость кадров: 6. Режим сканирования: прогрессивное сканирование. Угол обзора: 6. 0 градусов. Расстояние наблюдения: 1. Размер изображения: VGA (6. QVGA (3. 20*2. 40), QQVGA (1. Скорость передачи данных: по умолчанию 3. В даташите указано, что вы можете менять скорость с помощью соответствующих команд, но на практике это не работает) Потребляемый ток: 7. АРабочее напряжение: постоянный ток +5. ВСвязь: 3. 3. В TTL (три проводника TX, RX, GND)В качестве примера работы видеокамеры ниже приведены две фотографии: первая – в комнате в солнечный день и вторая – на улице в дождливый. Подключение камеры Как правило модуль продается без коннекторов, так что придется запаять проводники к предусмотреным пинам. Хорошая новость: контакты находятся на достаточно большом расстоянии друг от друга (около 2 мм). Можно использовать достаточно толстый проводник и жало для распайки. Мы используем красный для пина +5 В, черный для Земли, белый для пина RX (данные, которые поступают на камеру от Arduino) и зеленый для пина TX (данные, которые поступают с камеры). Если вы планируете использовать NTSC видео- выход для подключения к телевизору или монитору, припаяйте еще один черный проводник к пину Земля и желтый к пину CVBS. Если у вас водонепроницаемая модель камеры, в ней уже будут предусмотрены следующие коннекторы: Красный подключен к +5 В; Черный подключен к Земле; Зеленый – RX; Белый – TX; Желтый – сигнал NTSC видео; Коричневый – Земля NTSC видео. Проверка работоспособности камеры. Один из самых быстрых методов проверки работоспособности камеры – использование NTSC видео выхода для подключения. В этом случае при настройке параметров изображения и фокусировки вы моментально увидите результат. В комплексе с программой Comm. Tool, которую мы рассмотрим ниже, это идеальный метод для ознакомления с основаи работы с модулем камеры и Arduino. Для подключения к большинству телевизоров и мониторов нужен RCA джек. С этой целью мы припаяли RCA выход к камере. Черный проводник подключен к Земле, а желтый – к сигналу. Купить коннекторы RCA типа можно в любом магазине радиотехнических деталей. К сожалению, перейти из режима NTSC в режим PAL невозможно. Подключите кабель NTSC к монитору и подключите красный и черный кабели к источнику питания +5 В. На мониторе тут же появится черно- белое изображение! Использование Comm. Tool. Для использования windows- приложения Comm Tool, необходимо наладить обмен данными с камерой по серийному протоколу. Мы предлагаем два варианта. Первый – использовать переходник для FTDI или какой- то USB/TTL конвертер. В случае с Arduino вы можете использовать серийный чип (чип FTDI), загрузив следующий скетч на Arduino: // empty sketchvoid setup() . С платами Leonardo так не получится! Если вы используете Leonardo, Micro, Yun, или другие контроллеры на основании ATmega. U4, используйте этот Leo! Так что учтите это при подключении. Красный коннектор должен все равно идти к +5 В, а черный – к Земле. Обратите внимание, что при подключении камеры к Arduino используется резистор на 1. Ом. Питание логики камеры 3. В, так что опустить напряжение с 5 В до 2. В обычном режиме на выходе с цифрового пина 0 формируется сигнал HIGH, который соответствует 5 В. При нашем подключении, с учетом сопротивления резистора, подключенного к входному сигналу (белый проводник), напряжение не превысит 3. В. Теперь загрузите и установите программное обеспечение VC0. Comm. Tool. Запустите программу и выберите COM порт, к которому подключена Arduino. После этого Open порт и нажмите Get Version. Обратите внимание, что отобразилось VC0. Почему DSP запрограммирован под другим номером – точно не известно. В любом, случае, ответ мы получили. Следующая кнопка – рядом с FBUF CTRL. Это новая панель, которую мы можем использовать, чтобы напрямую загрузить рисунки с камеры. Установите камеру на объекте для его фотографии; Нажмите Stop FBuf, чтобы «заморозить» кадр; Нажмите Sel File, чтобы выбрать файл для сохранить в JPG формате. После этого нажмите Read (рядом с Sel File), чтобы считать кадр с камеры. Вот и все! Теперь вы с легкостью можете загружать фото с камеры. Чтобы сделать новый снимок, нажмите Resume. После этого нажмите Stop CFbuf для нового фото. Кроме того, вы можете выбрать Compression Ratio и выбрать качество снимка. Учтите, что время обработки тоже изменится. Простого пути изменения размера фотографии в этой программе нет, но мы можем это сделать в скетче Arduino. Вы могли заметить, что есть выпадающий список для изменения скорости передачи данных. По умолчанию скорость выставлена на 3. Несмотря на то, что в программе есть эти настройки, даже если они отработают, после перезагрузки камеры придется выставлять их заново. В некоторых случаях, при изменении скорости передачи данных в программе, камеры отключаются. Так что пользоваться этими настройками не рекомендуется. Стоит обратить внимание на кнопку Image Property, с помощью которой можно настроить камеру. С помощью ползунов можно в режиме реального времени подстраивать изображение, которое выводится на вашем подключенном мониторе. В программе куча настроек. Рекомендуем ознакомится с их перечнем ниже и не менять их, пока вы на 1. Config – смотрите выше. Get Version – смотрите выше. R/W Data – используется для передачи данных на процессор DSP чипа. Не стоит менять эту настройку без стопроцентного понимания, зачем это необходимо, так как можно получить конфликт с камерой. Color Ctrl – служит для выбора цвета, черно- белого режима или авто выбора (вероятно, основанного на условиях освещенности). Автоматический режим отлично отрабатывает, так что можно использовать именно его. Mirror Ctrl – скорее всего – переворот изображения (зеркальный эффект). Power Ctrl – проверка питания. Можно настроить автоматический режим отключения, когда нет движения. Timer Ctrl – в DSP есть встроенный RTC, который можно настроить. Однако батарейки нет, так что после перезагрузки настройки собьются. AE Ctrl – управление авто контрастом/яркостью. По умолчанию настройки установлены на автоматический выбор для сьемки в помещении и на открытом пространстве. Motion Ctrl – настройки системы обнаружения движения. Можно с ними поиграться и протестировать. Есть скетч для Arduino для обнаружения движения объектов, который можно использовать. OSD Config – протокол, который, судя по отзывам, не поддерживается большинством камер : (Image property – смотрите выше. Gamma – точная настройка гаммы CMOS сенсора. Настройки по умолчанию хорошие. Поэкспериментировать можно. SPI Flash – скорее всего – считывание и запись данных в SPI хранилище. Other Ctrl – возможно, для цифро- аналогового преобразования. Up/Down Load – считывание и запись данных на флэш- память. Вероятно, для загрузки нового DSP кода. System Reset – перезагрузка модуля. Актуальна, когда модуль перестает отвечать. FBuff Ctrl – смотрите выше. Zoom Ctrl – в модуле есть встроенный 'Pan Tilt Zoom', НО он рассчитан только для видеосьемки. С фотографиями отрабатывать не будет. Можете поэкспериментировать с PTZ, может оказаться полезным. Использование видеокамеры с Arduino. Давайте подключим камеру к нашему микроконтроллеру (в данном случае - Arduino). Подключение похоже на предложенный выше вариант. Для подключения используем два цифровых пина и серийный протокол для обмена данными с модулем. Для сохранения снимков вам понадобится карта памяти. Можно использовать дополнительные micro. SD модули или шилды. Подключите видеокамерукамеру к Arduino, как показано на рисунке ниже: В водонепроницаемых камерах белый и зеленый проводники могут располагаться наоборот! Так что проверьте это перед подключением. Красный кабель идет к +5 В, черный – к Земле. Предлагаем для начала проверить micro. SD карту. После проверки, можно устанавливать библиотеку VC0. Скачать ее можно здесь: Github. Переименуйте распакованную папку Adafruit. Проверьте наличие файлов Adafruit. Переместите папку с библиотекой Adafruit. Возможно, вам надо будет создать подпапку в библиотеке. Перезагрузите Arduino IDE. Если вы используете Arduino v. New. Soft. Serial. Скачать ее можно здесь: New. Soft. Serial. 10c. В Arduino 1. 0 эта библиотека встроена (называется Software. Serial). Первый снимок. Что ж, теперь можно делать ваш первый снимок. Откройте Arduino IDE и выберите скетч File- > Examples- > Adafruit. Загрузите его на Arduino. Откройте окно серийного монитора, в котором вы увидите как сделается фото 6.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
August 2017
Categories |