Ардуино камера: пример для ttl-модуля с ntsc видео

Ethernet камера на базе Arduino

В данном проекте мы подключим камеру через Ethernet при помощи Arduino. Т.о. вы сможете делать фото внутри дома, просто открыв веб-страничку в вашем браузере. Для данного проекта вам не понадобится какое-либо специальное приложение для смартфона.

Шаг 1: Используемые материалы

Шаг 2: Подключение модулей

Аппаратное соединение модулей вместе не вызовет особых проблем. Выполните подключение согласно рисунку.

Шаг 3: Подготовка программного обеспечения – библиотека

Для данного проекта нам понадобится загрузить несколько библиотек. Все б иблиотеки можно загрузить с ресурса http://arduino.cc

  • Adafruit_VC0706.h (для TTL камеры)
  • SdFat.h (для SD-карты)
  • SdFatUtil.h (для SD-карты)
  • Ethernet.h (для Ethernet шилда, устанавливается по умолчанию в скетче)
  • SoftwareSerial.h (для TTL камеры)

После загрузки всех библиотек вы готовы для запуска проекта.

Шаг 4: Программное обеспечение – код скетча

В данном разделе размещается код скетча проекта.

Загрузите файл скетча – ethernet_camera.ino

Вам необходимо выполнить некоторые изменения в коде скетча.

1. Необходимо изменить параметры mac[] и ip[] для вашего arduino.

2. Для отображения jpg файла в браузере мы должны подать команду для преобразования в формат jpg, как показано ниже:

В скетче указаны блоки с подробными комментариями – процедура прошивки, последовательная передача данных, файлы чтения/записи SD-карты, ethernet и т.д.

Шаг 5: Запуск и тестирование результатов


На картинке выше показан результат работы ethernet камеры.

Для фотографирования: Напечатайте в командной строке любого браузера http:/xxx.xxx.xxx.xxx:5555/ttt

Для просмотра полученной фотографии: Напечатайте в командной строке любого браузера http:/xxx.xxx.xxx.xxx:5555/image.jpg

Для удаления фотографии: Напечатайте в командной строке любого браузера http:/xxx.xxx.xxx.xxx:5555/rrr

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Камера на основе Arduino с передачей видео по Bluetooth

Сегодня вы вряд ли кого-нибудь удивите мобильным телефоном с камерой, беспроводными гаджетами и другими техническими достижениями. Благодаря платформе Arduino миллионы людей открыли для себя удивительный мир электроники и программирования. Было уже написано множество инструкций о том, как обмениваться данными между мобильным телефоном и Arduino через Bluetooth. В этом примере мы тоже будем обмениваться данными между мобильным телефоном на Android и Arduino UNO через Bluetooth, но мы будем передавать не просто набор символов и цифр, а изображение.

Кто-то скажет, что это невозможно, Arduino слишком медленно обрабатывает большие объемы данных с хорошей скоростью. И он будет абсолютно прав. А что, если немного помочь Arduino – перенести всю «тяжелую» работу на плечи другого устройства? И такое устройство есть.

Это уникальный TFT-щилд для Arduino. В этом уроке мы покажем, как можно подключиться через Bluetooth к Arduino и телефону Android, получить изображение с камеры OV7670 на Arduino UNO и перенести его на телефон Android. Затем, наоборот, перенесем изображение с камеры телефона Android на Arduino UNO и отобразим его на экране специального TFT-экрана.

Помимо Arduino и TFT-щилда основными компонентами данного проекта также являются камера OV7670 и Bluetooth-модуль HC-06 (HC-05).

Все демонстрационные скетчи написаны в среде Arduino IDE, поэтому вначале необходимо установить Arduino IDE – https://www.arduino.cc/en/main/software. Затем необходимо установить библиотеку для TFT-щилда – github.com/YATFT/YATFT. После установки Arduino IDE необходимо запрограммировать плату Arduino UNO. Для простоты рекомендуем прошивать отдельно, без экрана TFT. Код основного файла ArduinoBluetoothCamera.ino следующий:

Код заголовочного файла OV7670_regs.h:

На телефоне Android необходимо установить ArduinoTFT.apk (https://cdn.instructables.com/ORIG/FP9/HGMG/JUINB9LK/FP9HGMGJUINB9LK.apk) и разрешить приложению использовать Bluetooth и камеру.

В модуле Bluetooth необходимо установить скорость передачи данных 115200 (команда «AT + UART = 115200, 0, 0»). Это оптимальная скорость, с которой Arduino UNO удается получать и обрабатывать данные. (Теоретически вы можете увеличить скорость, оптимизировать прием и обработку данных, но для этого требуется больший объем оперативной памяти). Обратите внимание, что модуль Bluetooth подключается к порту отладки Arduino UNO. Таким образом, при работе с Bluetooth порт отладки недоступен. А перед программированием Arduino UNO (в комплекте с модулем Bluetooth) необходимо отключить модуль Bluetooth. И после программирования подключите его обратно.

Mitsubishi Colt Покемон › Бортжурнал › Камера обгона и переключение камер на Arduino

Меня давно-давно уже привлекает электроника не только как пользователя. Я хочу уметь творить и создавать в этой сфере тоже. И может быть когда-нибудь в будущем одна из моих компаний будет заниматься робототехникой или периферийными компьютерами для автомобилей.

Передо мной стояла задача — сделать возможность переключения между камерой обгона, заднего вида и видеорегистратором (чтобы иметь возможность настроить изображение), при этом сохраняя автоматическое включение камеры заднего вида, когда “врубаешь задний ход”.

Т.е. переключение должно проходить циклически, “Выкл” -> Камера обгона -> Камера заднего вида -> регистратор. При выключеном состоянии мы должны видеть обычный экран магнитолы, где может быть навигация, музыка. Вторая кнопка должна позволять экстренно включить камеру обгона, если мы срочно решили кого-то обогнать.

Я так же хотел сделать так, чтобы камеру заднего вида можно было включить без включения заднего хода. Обычно питание камеры цепляют к лампе заднего хода и таким образом она автоматически включается когда авто сдает назад. Однако камера заднего вида полезна и если машина стоит в “кармашке” и нам нужно сдать назад и из-за стоящих рядом автомобилей ничего не видно. Я несколько раз был в ситуации, когда хотел включить эту камеру не включая реверс — просто чтобы посмотреть что происходит на дороге. И по этой причине, и для сохранения концепции переключения всех камер, я решил сделать подачу питания на камеру постоянно, но реализовать еще и определение, что питание на лампу заднего хода подается и автоматически переключать на камеру заднего хода в этом случае.

Я еще с детства умею держать паяльник… Но многих вещей я не знал — как программировать микроконтроллеры и как изготавливать платы. Поэтому процесс создания устройства был для меня весьма увлекательным…

Во-первых, нужно было научиться работать с Arduino. Я купил базовый набор Arduino, инструменты, отдельно купил набор реле, поскольку не знал в тот момент что могу и самостоятельно собрать схему для релешек.

На макетной плате я собрал первую схему с релешками и так как входящего сигнала у меня не было, я использовал свободные порты Arduino для того чтобы подать несколько сигналов импульсами, а в качестве индикации сигнала на выходе — использовал встроенные в Arduino светодиод. Это дало мне возможность отлаживать программу эмулируя входные и выходные сигналы.

Написание программы для Arduino было, наверное, самым простым. А самым сложным — сборка. Нужно было приготовить все входы — выходы и припоять провода к купленым разъемам качественно у меня все никак не получалось — сопротивление постоянно гуляло, даже после пайки с кислотой. Но после нескольких часов я справился с этой задачей и у меня появилась возможность проверить как это работает используя реальный сигнал. У меня не было нескольких видеокамер дома, поэтому было решено использовать аудио-сигнал. Запустил музыку вконтакте (Дуров, верни музыку!), с мобилы… и подал не входные разъемы устройства (на фото видно как это работает).
Отлично! Все работает, программа циклически переключает музыку, а значит будет работать и с видео!

А вот теперь — новый этап. Нужно спроектировать печатную плату. Я перебрал несколько программ типа P-CAD и они мне не понравились. “Ну неужели нету нормального софта?” — подумал я, и тут я наткнулся на Fritzing. Программа очень тесно дружит с Arduino, у нее удобный интерфейс и она может запускаться на маке — это то, что я искал.

Я набросал на виртуальной печатной плате что я от нее хочу, перешел на вкладку со схемой, сделал Autoroute (автоматическое прокладывание связей), немного поправил пути, проставил те, которые программа не смогла сама и распечатал на бумаге для проверки схемы.

Вот тут нужно быть внимательным. Я специально распечатал схему, чтобы при проверке можно было обводить ручкой те места, про которые у меня нет никаких сомнений. Все, проверка закончена — можно приступать к проектированию печатной платы.

Переходим в третью вкладку, назначаем размер платы, чтобы он соответствовал размерам Arduino, раскидываем компоненты и делаем autoroute. Я думал это будет так же легко, как описано в предыдущем предложении, но! Но программа не может нормально проложить авто-роут, использует несколько перемычек и мне приходиться работать с этим руками. Я распечатываю схемы платы и потихоньку ищю слабые места.

После продолжительного времени внимательной отладки, я приступил к изготовлению платы — отрезал заготовку, украл у жены модный глянцевый журнал и распечатал схему платы на принтере. По методу ЛУТа (лазерно утюга) изображение распечатаное на глянце закрепляется на заготовке и переносится на плату под воздействием температуры (необходимо утюжить изображение прикрепленное к плате).

Я не буду подробно останавливаться на процессе изготовления, потому что он уже много где подробно описан, к примеру тут. Могу сказать только то, что у меня получилось очень качественного изготовить с первого раза — но я очень внимательно прочитал несколько статей по этому поводу. Ах да… я встречал много вопросов типа “А какую лучше страницу из журнала использовать — светлую или темную? C буквами или без?”. Так вот, по моей практике: лучше всего печатные платы выходят из страниц с красивыми девушками и чем они более секси — тем лучше платы получаются :). Но на самом деле это имеет значение только с эстетической точки зрения, а на физику и химию процесса не влияет. Только не используйте фотобумагу — распечатаное на лазерном принтере изображение “волосатое” и мажется.

Еще, очень важно понять что ошибки, которые совершают все, вы тоже можете совершить. Я перепроверял все на 100 раз и много раз читал о том, что в самый последний момент люди ошибались и у них получалась “зеркальная” плата. Так вот я заметил это уже на этапе сборки платы, когда собрал разъемы для соединения с Arduino и понял, что они с обратной стороны. Это дало мне возможность еще поработать над платой и мне в итоге удалось оптимизировать ее, петем перенесения элементов, выходов и переназначения пин-ов — я сэкономил 30% платы и обошелся всего одной перемычкой + избавился от черезчер близких дорожек. Но если выша схема была идеальной — не перепутайте сторону!

А результат работы камеры обгона просто потрясающий — на праворуком авто теперь можно безопасно ездить по трассе! 🙂 Я покупал камеру КРС-DNR880 в интернет-магазине за 5990 рублей и длиннофокусный объектив на 25 мм за 790 рублей. Всем рекомендую взять его при заказе. Я боялся что в будущем на следующем авто, будет стандартная магнитола и она будет поддерживать только NTSC, поэтому и взял NTSC-камеру — ведь с моей текущей магнитолой на Android она работает отлично.

Подключение камеры в Arduino и вывод изображения в окне браузера

Простой и интересный проект, в результате которого вы сможете делать снимки на модуль видеокамеры с использованием Arduino и передавать данные через Ethernet Shield. Снимки появятся на указанном вами веб-сервере.

Очень простой и элегантный проект, для реализации которого вам не не понадобятся никакие дополнительные приложения.

Необходимые компоненты

Нам понадобятся следующие компоненты:

  • Arduino Uno
  • Arduino Ethernet Shield
  • Serial Camera

Вот и все. что понадобится для нашего проекта.

Подключение камеры к Arduino

Подключается камера очень просто.

Подготавливаем софт: библиотеки

Для проекта нам понадобятся следующие библиотеки Arduino:

  • Adafruit_VC0706.h (для TTL камеры)
  • SdFat.h (для SD карты)
  • SdFatUtil.h (для SD карты)
  • Ethernet.h (для Ethernet шилда)
  • SoftwareSerial.h (для TTL камеры)

Все эти библиотеки вы можете скачать на оффициальном сайте Arduino.

После того как вы скачали и установили перечисленные выше библиотеки, можно запускать проект.

Скетч для Arduino

Некоторые необходимые комментарии к коду приведены ниже.

1. Надо изменить mac[] и ip[] в соответсвии с информацией о вашем Arduino.

2. Для того, чтобы отобразить jpg файл в браузере, его надо преобразовать в jpg формат, для этого надо прописать следующие строки

Запуск и проверка работоспособности

1. Для того, чтобы сделать снимок, пропишите в строке браузера:

2. Для того, чтобы отобразить снимок, укажите в строке браузера:

3. Для того, чтобы удалить снимок, напишите в строке браузера:

На рисунке ниже показан пример теста камеры.

Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!

Источники:

http://digitrode.ru/computing-devices/mcu_cpu/2141-kamera-na-osnove-arduino-s-peredachey-video-po-bluetooth.html

http://www.drive2.ru/l/1572687/

http://diytimes.ru/post/38

http://arduino.zl3p.com/infa/pins

Ссылка на основную публикацию