Детектор движения с камерой android на базе arduino

Система распознавания и слежения за лицами на Arduino

В данном проекте я совместил детектор распознавания лиц (face detection) и следящую (tracking system) систему.

Вкратце суть проекта: вебкамера, установленная на поворотном механизме подключена к компьютеру под управлением операционной системы Windows и с установленным программным обеспечением OpenCV. Если программа обнаруживает в поле зрения вебкамеры лицо, то вычисляется центр лица. Координаты X и Y передаются в контроллер Arduino, который подключен к компьютеру по USB. В свою очередь, контроллер Arduino по принятым командам управляет двумя сервомоторами: по координате X и по координате Y, т.о. обеспечивается следящая система.

Библиотеку OpenCV (Open Source Computer Vision Library) можно скачать здесь. Библиотека мультиплатформенная, в настоящее время существует под следующие ОС: Windows, Linux, Android, Mac OS и даже iOS. Библиотека обеспечивает обработку изображений в режиме реального времени. Написана на С/С++.

Т.о. данный проект представляет собой смесь soft и hard решений. Обработка изображения ведется на компьютере, а управление серво осуществляется при помощи контроллера.

Итак, что я использовал для проекта:

Железо:
компьютер с ОС Windows 7 SP1
Arduino Uno или совместимый + БП
2 сервопривода
USB вебкамера

Шаг 1. Установка программного обеспечения

1) Если у вас ОС Windows, то скачайте файл OpenCV-2.3.1-win-superpack.exe (или более позднюю версию) и установите библиотеку.

2) Скачайте и установите Microsoft Visual C++ 2010 Express. Если у вас 64-битная версия Windows, то также необходимо будет скачать Windows SDK (но для 64 версии могут быть проблемы, я так и не смог заставить работать OpenCV под Windows 7 x64).

Процесс настройку OpenCV для Visual C++ читайте на официальном сайте.

Шаг 2. Крепление камеры и сервомоторов

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

Шаг 3. Подключение

Подключение сервомоторов:
Желтый вывод от серво оси Х подключается к выводу 9 контроллера Arduino
Желтый вывод от серво оси Y подключается к выводу 10 контроллера Arduino
Красный вывод Vcc от серво подключается к выводу 5V
Черный вывод GND от серво подключается к выводу GND контроллера Arduino

Подключение вебкамеры:
Вебкамера подключается к компьютеру по USB интерфейсу. Программа C++ идентифицирует вебкамеру по номеру USB-порта. Возможно, потребуется указать порт в программе.

Подключение контроллера Arduino UNO:
Контроллер также подключается к компьютеру через USB-интерфейс. В системе появляется виртуальный COM-порт, который необходимо внести в код программы на C++.

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 она работает отлично.

Это видео недоступно.

Очередь просмотра

Очередь

  • Удалить все
  • Отключить

YouTube Premium

Android Motion Detector Camera | Arduino project

Хотите сохраните это видео?

  • Пожаловаться

Пожаловаться на видео?

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

Понравилось видео?

Не понравилось?

Think of your security system again. Do you want to tight your security? Do you wanna know who is entering in your room while your are absent and catch them red handed?
.
Well, this our new project that can help you capture those who is your uninvited guest. When they try to come in your smartphone camera can capture them. Let’s see how to make it possible😉

You will need:
1. Arduino
2.smartphone
3. LDR
4. High bright Led
5. Sonar sensor (hc-sr04)
6.Old headphone jack ( which had mic )
7. Power source ( power bank will do)

Step 1:
Firstly, cut Left and right audio out wires of your earphone . you will see red color (Microphone) and black (ground) color wire . Attach jumper wire to these wires .

Step 2: Wiring Arduino

Make the arduino circuit by following this connection :

Arduino pin 2 —- white led

Arduino pin 6 —-Tring ( Sonar sensor)

Arduino pin 7 —- Echo (Sonar sensor)

give 5v to the Sonar sensor

Red color wire —- One leg of LDR

Black color wire —- another leg of LDR

(LDR must be faced on the White led . You can also isolate LDR and LED by using black scotch tape.

Power up the arduino and Connect the earphone jack to your smartphone. Then open Camera app in your smartphone . Now, put an object in front of the Sonar sensor , you will see that your phone will start taking pictures. Then , Make a nice casing for it. 🙂

Congratulation !! finally you made your own motion detector camera.

Step 4: How It Works

Definitely, you are thinking that how it works.. I hope that you know how a sonar sensor works.. If you don’t, you can watch the video. Every earphone has volume button which works on smartphone as shutter button when camera app is opened. earphone’s volume buttons are connected with mic and gnd within a fixed value of resistor. And LDR changes it’s resistance which depends on the presence of light. For this, we have connected a high bright LED in front of the LDR. When arduino turns on the led, the resistance of LDR decreases.

Then LDR works as volume button, it triggers the shutter button and capture a picture. The combination of LED and LDR is also known as optocoupler.

Детектор движения — умная скрытая камера у вас в кармане

Приложение: Детектор движения | 149 рублей | Универсальное приложение | Установить

Современные смартфоны подходят для выполнения огромного перечня задач. К счастью, здесь дело не ограничивается уточнением прогноза погоды, обновлением почтового ящика и выполнением простых расчётов на калькуляторе. Мобильные устройства также могут справляться и с более сложными поручениями. Например, выступать в роли скрытой камеры. Но видеофиксация всего происходящее без разбора грозит быстрым заполнением свободной памяти, не так ли? Куда лучше активировать запись тогда, когда в поле зрения смартфона что-то происходит. Сделать это автоматически поможет приложение «Детектор движения», которое обладает многими приятными особенностями и простым интерфейсом.

«Детектор движения» обнаружит и запишет любое происходящее событие в поле зрения камеры. Благодаря этому он идеально подходит для роли скрытой видеокамеры. Впрочем, на этом его возможности не заканчиваются. Обо всём по порядку.

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

http://www.youtube.com/watch?v=uTBevZbQYrg

http://appleinsider.ru/obzory-prilozhenij/detektor-dvizheniya-umnaya-skrytaya-kamera-u-vas-v-karmane.html

http://drone1.ru/reviews/obzor-dji-phantom-3-advanced.html

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