Ово је веома занимљив пројекат у којем ћемо научити како применити виртуелну стварност користећи Ардуино и Процессинг. За већину нас је филм Гвоздени човек Јона Фавреауа увек био инспирација за изградњу нових ствари које ће нам живот учинити лакшим и забавнијим. Лично сам се дивио техничарима који су приказани у филму и увек сам желео да направим нешто слично томе. Дакле, у овом пројекту покушао сам да опонашам ствари из виртуелне стварности које се дешавају у филму, попут тога да једноставно можемо одмахнути руком испред рачунара и померити показивач на жељено место и извршити неке задатке.
Овде ћу вам показати како можете једноставно махнути руком испред веб камере и нацртати нешто на рачунару. Такође ћу вам показати како можете да пребацујете светла тако што ћете виртуелно покретати руку и кликати прстима у ваздуху.
Концепт:
Да би се ово догодило, морамо искористити снагу Ардуина и Процессинга заједно. Већина њих би била упозната са Ардуином, али обрада би могла бити нова за вас. Обрада је апликација попут Ардуина, такође је отвореног кода и може се бесплатно преузети. Користећи Процессинг можете да креирате једноставне системске апликације, Андроид апликације и још много тога. Такође има могућност обраде слике и препознавања гласа. Баш је попут Ардуина и много га је лако научити, али не брините ако сте потпуно нови у обради, јер сам овај приручник написао прилично једноставно, тако да свако са занимањем може у кратком року ово учинити.
У овом упутству користимо Обраду да бисмо креирали једноставну системску апликацију која нам пружа кориснички интерфејс и пратимо положај наше руке помоћу Обраде слика. Сада морамо да притиснемо леви и десни клик прстима. Да бих се то догодило, користио сам два Халл сензора (један на кажипрсту, а други на средњем прсту) који ће читати Ардуино Нано. Ардуино такође преноси статус клика на рачунар бежично путем Блуетоотх везе.
Можда звучи компликовано, али, верујте ми; није тако тешко како звучи. Дакле, погледајмо материјале потребне да би овај пројекат могао да се покрене.
Потребни материјали:
- Ардуино Нано
- Халов сензор (А3144) - 2Бр
- Мали комад магнета
- Блуетоотх модул (ХЦ-05 / ХЦ-06)
- 9В батерија
- Повезивање жица Дот плоча.
- Пар рукавица
- Ардуино ИДЕ (софтвер)
- Обрада ИДЕ (софтвер)
- Рачунар са веб камером и Блуетоотх-ом (за рачунар можете да користите и спољни Блуетоотх или веб камеру)
Шеме и хардвер:
Хардверски део овог пројекта је врло једноставан и лак за изградњу. Комплетна шема је приказана у наставку.
Ардуино, отпорници и берг штапови залемљени су на тачкасту плочу као што је приказано доле.
Халов сензор и Блуетоотх модул залемљени су на конектор као што је приказано доле.
Једном када су ова два одељка спремна, могу се саставити на рукавице тако да буду једноставне за употребу. Користио сам једнократне пластичне рукавице које можете купити у било којој медицинској радњи у вашој близини. Требали бисте бити сигурни да магнет долази на палац, а Халл сензор 1 и Халл сензор 2 требају бити присутни испред вашег индекса, односно средњег прста. Користио сам патка траке да причврстим компоненте на месту. Једном кад се компоненте саставе, требало би да изгледа отприлике овако.
Сада отворимо Ардуино ИДЕ и кренимо са програмирањем.
Програм за Ардуино:
Сврха овог Ардуино кода је да очита статус сензора дворане и емитује их помоћу Блуетоотх модула. Такође би требало да прима податке са Блуетоотх-а и да пребацује уграђену ЛЕД на основу долазне вредности. Комплетан програм дат је на крају овог водича; Такође сам објаснио неколико редова у наставку.
иф (Пхс1! = ХаллСтате_1 - Пхс2! = ХаллСтате_2) // Провери да ли се притискају нови тастери {иф (ХаллСтате_1 == ЛОВ && ХаллСтате_2 == ЛОВ) Аисха.врите (1); иф (ХаллСтате_1 == ХИГХ && ХаллСтате_2 == ЛОВ) Аисха.врите (2); иф (ХаллСтате_1 == ЛОВ && ХаллСтате_2 == ХИГХ) Аисха.врите (3); иф (ХаллСтате_1 == ХИГХ && ХаллСтате_2 == ХИГХ) Аисха.врите (4); }
Као што је приказано у горњим редовима на основу статуса Халл сензора, Блуетоотх ће написати одређену вредност. На пример, ако је Халл сензор 1 висок, а Халл сензор 2 низак, тада ћемо емитовати вале „2“ преко Блуетоотх модула. Обавезно упишите вредности у БТ модул и не исписујте их. Јер ће бити лако прочитати једино на страни Обрада само ако су написане. Такође ће вредност послати само ако није иста као претходна вредност.
иф (БлуетоотхДата == 'и') дигиталВрите (ледпин, ХИГХ); иф (БлуетоотхДата == 'н') дигиталВрите (ледпин, ЛОВ);
Ове линије се користе за пребацивање уграђене ЛЕД диоде која је повезана на пин 13, на основу вредности коју прима БТ модул. На пример, ако модул прими 'и', тада се ЛЕД укључује, а ако прима 'н', онда се искључује.
Програм за обраду:
Сврха програма Обрада је стварање системске апликације која може да делује као УИ (Кориснички интерфејс) и такође врши обраду слика за праћење одређеног објекта. У овом случају пратимо плави предмет који смо залепили горе. Програм у основи има четири екрана.
- Екран за калибрацију
- Главни екран
- Паинт Сцреен
- ЛЕД преклопни екран
Можемо се кретати од једног екрана до другог једноставним махањем рукама и повлачењем екрана у ваздуху. Такође можемо да кликнемо на жељена места за пребацивање ЛЕД или чак да нацртамо нешто на екрану.
Можете да копирате комплетан програм за обраду (дат на крају) и да га измените на основу своје креативности или једноставно преузмете ЕКСЕ датотеке одавде и следите следеће кораке за покретање апликације.
- Инсталирајте ЈАВА на свој рачунар ако га раније нисте инсталирали
- Инсталирајте Иоу Цам перфецт на свој рачунар
- Укључите Ардуино и упарите рачунар са Блуетоотх модулом
- Покрените датотеку апликације
Ако све буде у реду, требали бисте приметити да ЛЕД на Блуетоотх модулу постаје стабилан и да лампица веб камере гори. Ако имате било каквих проблема, контактирајте ме путем одељка за коментаре и ја ћу вам помоћи.
Погледајте видео на крају да бисте знали како да калибришете своју апликацију и користите је.
Ако желите да измените код и у њега уградите више функција, можете да користите следеће увиде у програм
ИДЕ за обраду можете преузети овде. Ако желите да сазнате више о обради и направите занимљивије пројекте, можете посетити туторијале овде.
Обрада има могућност читања серијских података, у овом програму серијски подаци долазе са Блуетоотх ЦОМ порта. Морате да одаберете на који ЦОМ порт се повезује ваш Блуетоотх помоћу ове линије испод
порт = нови серијски (овај, Сериал.лист (), 9600);
Овде сам изабрао свој први ЦОМ порт, који је у мом случају ЦОМ5 (види слику доле), и напоменуо сам да Блуетоотх модул ради на 9600 баудрате.
Као што је раније речено, обрада такође има могућност обраде слика, у овом упутству слике се шаљу унутар скице помоћу веб камере. На свакој слици пратимо одређени објекат. Да бисте сазнали више о овоме, можете посетити овај водич.
Трудио сам се најбоље да објасним програм (дат на крају) кроз редове коментара. Датотеке можете преузети овде.
Ако желите да сазнате више о скици, можете ме контактирати путем одељка за коментаре и ја ћу вам помоћи.
Рад:
Када хардвер и софтвер буду спремни, носите рукавице и припремите се за неку акцију. Сада једноставно напајајте Ардуино, а затим покрените апликацију. ЛЕД на Блуетоотх модулу треба да буде стабилан. Сада то значи да је ваша Системска апликација успоставила Блуетоотх везу са вашим Ардуином.
Добићете следећи екран на коме морате да изаберете објекат који ће се пратити. Ово праћење се једноставно може извршити кликом на објекат. У овом случају предмет је плави диск. Сада можете да преместите свој објекат и приметите да показивач прати ваш објекат. За најбоље резултате користите јединствени предмет у боји и светлу собу.
Сада додирните прст палца кажипрстом и требало би да видите поруку „Притиснут тастер 1“, а када притиснете палац средњим прстом, требало би да видите „Притиснут тастер 2“, то значи да све ради у реду и да је калибрација готова. Сада кликните на дугме Готово.
Једном када се притисне дугме Готово, бићете преусмерени на главни екран где можете сликати у ваздуху или пребацивати ЛЕД на Ардуино плочи као што је приказано у видео снимку испод.