- Потребни материјали:
- 3Д штампање потребних делова (опционално):
- Шема и хардвер:
- Подешавање Андроид апликације:
- Програмирање вашег Ардуина:
- Рад:
Да ли сте икада пожелели да направите роботску руку или робота за праћење лица једноставним коришћењем Ардуина, а не било ког другог програма попут ОпенЦВ-а, визуелних основа Ц # итд? Затим прочитајте даље, у овом пројекту ћемо применити детекцију лица спајањем снаге Ардуина и Андроида. У овом пројекту, мобилна камера ће се померити заједно са вашим лицем уз помоћ серво серво уређаја. Предност коришћења Андроид мобилног телефона овде је у томе што не треба да улажете у модул камере, а цео рад на откривању слика може се обавити у самом телефону, није потребан ваш Ардуино повезан са рачунаром да би ово функционисало. Овде смо користили Блуетоотх модул са Ардуином за бежичну комуникацију са Мобилеом.
Андроид апликација коришћена у овом пројекту креирана је помоћу Обрада Андроида, можете је директно инсталирати преузимањем АПК датотеке (за везу прочитајте даље) или ставити своју програмску капу и направити своју привлачнију Андроид апликацију помоћу датог кода за обраду даље у Водичу. Сазнајте више о обради провером наших претходних пројеката обраде.
На крају овог водича имаћете Мини Тилт анд Спан Роботиц Арм који може пратити ваше лице и кретати се заједно с њим. Ово можете да користите (са даљим напретком) за снимање влог видео записа или чак да направите селфи са задњом камером вашег мобилног телефона јер ваше лице поставља тачно у средиште вашег мобилног екрана. Тако!! Звучи занимљиво? Погледајте демо видео на крају овог водича да бисте видели да ли ради. Да видимо како можемо да га направимо…
Трудио сам се да учиним овај пројекат што једноставнијим, свако ко има минимално знање о хардверу или кодирању може да користи ове смернице како би овај пројекат успео у кратком времену. Међутим, једном кад то направите, предлажем вам да заостанете за кодовима како бисте заиста могли знати због чега ова ствар функционише и како.
Потребни материјали:
- Ардуино Нано
- Серво мотор СГ90 - 2бр
- Андроид телефон са пристојном камером
- ХЦ-05 / ХЦ-06 Блуетоотх модул
- Рачунар за програмирање
- 3Д штампач (опционално)
- 9В батерија
3Д штампање потребних делова (опционално):
Да бисмо кретали и нагињали мобилни телефон, потребне су нам неке механичке структуре попут држача за мобилни телефон и неколико серво носача. За израду можете користити картон, с обзиром да имам 3Д штампач, одлучио сам да ове делове 3Д штампам.
3Д штампање је невероватан алат који може много да допринесе изградњи прототипа пројеката или експериментисању са новим механичким дизајном. Ако још увек нисте открили предности 3Д штампача или како он функционише, можете прочитати Водич за почетнике за 3Д штампу.
Ако сте власник или имате приступ 3Д штампачу, онда можете да користите СТЛ датотеке које можете овде преузети да бисте их директно одштампали и саставили. Међутим, неколико делова попут држача мобилног телефона можда ће требати неке модификације засноване на димензијама вашег телефона. Дизајнирао сам га за свој МОТО Г мобилни телефон. За штампање свих делова користио сам свој основни штампач. Штампач је ФАБКС в1 компаније 3динг који долази по приступачној цени са обимом штампе од 10 кубних цм. Повољна цена долази уз компромис са ниском резолуцијом штампе и без СД картице или функције наставка штампања. За штампање СТЛ датотека користим софтвер под називом Цура. Поставке које сам користио за штампање материјала дате су у наставку. Можете их користити или променити на основу вашег штампача.
Након што одштампате све потребне материјале, можете их причврстити помоћу вијака и врућег лепка. Након завршетка монтаже, то би требало да изгледа овако некако у наставку.
Шема и хардвер:
Круг за овај пројекат праћења лица на паметном телефону приказан је на доњој слици:
Круг се састоји од два серво мотора, од којих се један користи за померање мобилног телефона лево / десно, а други за нагибање мобилног телефона горе / доле. Смер у којем се серво мора кретати биће упућен од Ардуино Нано-а који сам добија информације са Блуетоотх (ХЦ-05) модула. Читав круг напаја батерија од 9В.
Овај круг се може лако повезати на ваш плоча или их можете залемити на малу Перф плочу као што сам ја овде урадио.
Подешавање Андроид апликације:
Као што сам раније рекао, главни мозак који ради иза овог пројекта је ова Андроид апликација. Ова андроид апликација је развијена коришћењем Процессинг Андроид. Ову апликацију можете директно инсталирати на свој мобилни телефон и покренути је пратећи кораке у наставку.
- Преузмите АПК датотеку одавде.
- Укључите круг приказан горе.
- У подешавањима телефона потражите Блуетоотх модул под називом „ХЦ-05“
- Ако сте га назвали другачије него „ХЦ-05“, вратите га у ХЦ-05, јер ће само тада апликација радити.
- Упарите свој Блуетоотх модул са лозинком „1234“ или „0000“.
- Сада покрените апликацију у усправном режиму. Требали бисте видети екран камере, а такође и „Повезано са: ХЦ-05“ на врху екрана.
- Покушајте да преместите камеру преко лица и на њој би се требао појавити зелени оквир, а њен положај ће такође бити приказан у горњем левом углу екрана, као што је приказано испод.
Овај Ардуино Фаце Трацкинг Пројецт можете подићи на следећи ниво уносећи мноштво унапређења за која вам неће бити потребно да кодирате сопствену Андроид апликацију. Стварање Андроид апликације може звучати тешко, али верујте ми уз помоћ Обраде коју можете научити у кратком року. Комплетни код за обраду који се користи за изградњу ове апликације можете преузети овде. Слободни сте да напредујете сопственом креативношћу. Погледајте доње пројекте да бисте сазнали више о обради:
- Виртуелна стварност користећи Ардуино и обраду
- Пинг Понг игра користећи Ардуино
- ФМ радио контролиран паметним телефоном помоћу обраде.
- Ардуино радарски систем који користи процесор и ултразвучни сензор
Програмирање вашег Ардуина:
Андроид апликација ће открити лице и његов положај на екрану; тада ће одлучити у ком смеру треба да се креће на основу положаја лица тако да лице дође у средиште екрана. Овај правац се затим шаље Ардуину преко Блуетоотх модула.
Програм Ардуино за овај пројекат је прилично једноставан, само морамо да контролишемо смер два серво мотора на основу вредности примљених од Блуетоотх модула. Комплетан код може се наћи на крају овог упутства, ја сам такође објаснио неколико важних линија испод.
Испод реда кода се успоставља серијска веза са пиновима Д12 као РКС и Д11 као ТКС. Стога пин Д12 мора бити повезан на ТКС БТ модула, а пин Д11 на РКС БТ модула.
СофтвареСериал цам_БТ (12, 11); // РКС, ТКС
Затим смо иницијализирали Блуетоотх модул брзином преноса од 9600. Обавезно проверите да ли и модул ради на истој брзини преноса. Иначе га промените у складу са тим.
цам_БТ.бегин (9600); // започињемо Блуетоотх комуникацију на 9600 баудрате цам_БТ.принтлн („Спремни за примање наредби“);
Испод реда чита се шта долази преко Блуетоотх модула. Такође се подаци чувају у променљивој „БлуетоотхДата“.
иф (цам_БТ.аваилабле ()) // Прочитајте шта долази преко Блуетоотх-а {БлуетоотхДата = цам_БТ.реад (); Сериал.принт ("Инцоминг фром БТ:"); Сериал.принтлн (БлуетоотхДата); }
На основу података примљених са Блуетоотх-а, контролише се смер мотора. За окретање мотора улево мотор се смањује за вредност 2 од његовог претходног положаја. Ову вредност можете повећати на 2 до 4 или 6 ако вам је потребна рука да се брже креће. Али, то може створити трзаје због којих ће камера бити нестабилна.
иф (БлуетоотхДата == 49) // Окрените лево {пос1 + = 2; серво1.врите (пос1);} иф (БлуетоотхДата == 50) // Скрените десно {пос1- = 2; серво1.врите (пос1);} иф (БлуетоотхДата == 51) // Појачај {пос2- = 2; серво2.врите (пос2);} иф (БлуетоотхДата == 52) // Одбиј {пос2 + = 2; серво2.врите (пос2);}
Рад:
Кад смо спремни са нашим хардвером, кодом и Андроид апликацијом, време је за неке акције. Једноставно напајајте свој Ардуино и отворите андроид апликацију. Апликација ће се аутоматски повезати са ХЦ-05 (мора се звати ХЦ-05) Блуетоотх модулом и сачекаће да лице буде откривено. Једноставно ставите телефон у наш држач за мобилни и седите испред њега. Требали бисте приметити како ваши серво мотори померају телефон тако да вам лице буде постављено у средину екрана. Сада се крећите унутар домета камере и ваш мобилни телефон ће пратити ваша кретања. Можете и да пробате постављањем и померањем било које слике.
Комплетан рад пројекта приказан је у видео снимку испод. Можете много градити