- Концепция:
- Необходими материали:
- Схеми и хардуер:
- Програма за Arduino:
- Програма за обработка:
- Работа:
Това е много интересен проект, в който ще научим как да внедряваме виртуална реалност, използвайки Arduino и Processing. За повечето от нас филмът Железният човек на Джон Фавро винаги е бил вдъхновение за изграждане на нови неща, които ще направят живота ни по-лесен и забавен. Аз лично съм се възхищавал на техниците, които се показват във филма и винаги съм искал да изградя нещо подобно на това. И така, в този проект се опитах да имитирам неща от виртуалната реалност, които се случват във филма, като просто да махнем с ръка пред компютъра и да преместим показалеца на желаното място и да изпълним някои задачи.
Тук ще ви покажа как можете просто да махнете с ръка пред уеб камерата и да нарисувате нещо на компютъра си. Ще ви покажа и как можете да превключвате светлините, като виртуално движите ръката си и правите щракания с пръсти във въздуха.
Концепция:
За да се случи това, трябва да използваме силата на Arduino и Processing комбинирани. Повечето биха били запознати с Arduino, но обработката може да е нова за вас. Обработката е приложение точно като Arduino и също е с отворен код и е безплатно за изтегляне. С помощта на Processing можете да създавате прости системни приложения, приложения за Android и много други. Той също така има способността да извършва обработка на изображения и разпознаване на глас. Той е точно като Arduino и е много лесен за научаване, но не се притеснявайте, ако сте напълно нов в обработката, защото написах този урок доста просто, така че всеки с интерес може да направи това за нула време.
В този урок ние използваме Обработка, за да създадем просто системно приложение, което ни предоставя потребителски интерфейс и проследяваме позицията на нашата ръка, използвайки Обработка на изображения. Сега трябва да направим ляв и десен клик с пръсти. За да се случи това, използвах два сензора на Хол (един на показалеца и другия на средния пръст), които ще се четат от Arduino Nano. Arduino също така предава състоянието на щракване на компютъра безжично чрез Bluetooth.
Може да звучи сложно, но, повярвайте ми; не е толкова трудно, колкото звучи. Така че нека да разгледаме материалите, необходими, за да може този проект да работи и да работи.
Необходими материали:
- Arduino Nano
- Сензор на Хол (A3144) - 2 Бр
- Малко парче магнит
- Bluetooth модул (HC-05 / HC-06)
- 9V батерия
- Свързване на проводници Dot платка.
- Чифт ръкавици
- Arduino IDE (Софтуер)
- Обработка на IDE (софтуер)
- Компютър с уеб камера и Bluetooth (можете да използвате и външен Bluetooth или уеб камера за вашия компютър)
Схеми и хардуер:
Хардуерната част на този проект е много проста и лесна за изграждане. Пълната схема е показана по-долу.
Arduino, резисторите и щифтовете berg stick са запоени върху платка, както е показано по-долу.
Сензорът на Hall и Bluetooth модулът са запоени към съединителен проводник, както е показано по-долу.
След като тези две секции са готови, той може да бъде сглобен върху ръкавици, така че да е лесен за използване. Използвал съм пластмасови ръкавици за еднократна употреба, които можете да закупите от всеки медицински магазин близо до вас. Трябва да се уверите, че магнитът идва върху палеца ви и датчикът на Хол 1 и сензорът на Хол 2 трябва да присъстват съответно пред показалеца и средния пръст. Използвал съм патешки ленти, за да закрепя компонентите на място. След като компонентите са сглобени, това трябва да изглежда нещо подобно.
Сега нека отворим IDE на Arduino и започнем да програмираме.
Програма за Arduino:
Целта на този код на Arduino е да чете състоянието на сензора на залата и да ги излъчва чрез Bluetooth модула. Той също така трябва да получава данни от Bluetooth и да превключва вградения светодиод въз основа на входящата стойност. Пълната програма е дадена в края на този урок; Също така обясних няколко реда по-долу.
if (Phs1! = HallState_1 - Phs2! = HallState_2) // Проверете дали са натиснати нови клавиши {if (HallState_1 == LOW && HallState_2 == LOW) Aisha.write (1); if (HallState_1 == HIGH && HallState_2 == LOW) Aisha.write (2); if (HallState_1 == LOW && HallState_2 == HIGH) Aisha.write (3); if (HallState_1 == HIGH && HallState_2 == HIGH) Aisha.write (4); }
Както е показано в горните редове въз основа на състоянието на сензора на залата, Bluetooth ще напише определена стойност. Например, ако сензорът на Hall 1 е висок, а сензорът Hall 2 е нисък, тогава ние ще излъчим долината „2“ чрез Bluetooth модула. Уверете се, че сте записали стойностите в модула BT и не ги отпечатвате. Защото ще бъде лесно да се чете единственото от страна на обработката само ако са написани. Също така стойността ще изпрати само ако не е същата като предишната стойност.
ако (BluetoothData == 'y') digitalWrite (ledpin, HIGH); ако (BluetoothData == 'n') digitalWrite (ledpin, LOW);
Тези линии се използват за превключване на бордовия светодиод, който е свързан към щифт 13, въз основа на стойността, получена от модула BT. Например, ако модулът получи 'y', тогава светодиодът е включен и ако той получи 'n', той се изключва.
Програма за обработка:
Целта на програмата за обработка е да създаде системно приложение, което може да действа като потребителски интерфейс (потребителски интерфейс) и също така да извършва обработка на изображения за проследяване на определен обект. В този случай проследяваме синия обект, който залепихме на ръкавиците си по-горе. Програмата основно има четири екрана.
- Екран за калибриране
- Начален екран
- Екран за боядисване
- LED превключващ екран
Можем да навигираме от един екран на друг, като просто махаме с ръце и плъзгаме екрани в ефир. Също така можем да правим кликвания върху желаните места, за да превключваме LED или дори да рисуваме нещо на екрана.
Можете да копирате поставете цялата програма за обработка (дадена в края) и да я модифицирате въз основа на вашата креативност или просто да изтеглите EXE файловете от тук и да изпълните следните стъпки, за да стартирате приложението.
- Инсталирайте JAVA на вашия компютър, ако не сте го инсталирали преди
- Инсталирайте You Cam perfect на вашия компютър
- Включете вашия Arduino и сдвоете компютъра си с Bluetooth модула
- Стартирайте файла на приложението
Ако всичко върви добре, трябва да забележите, че светодиодът на вашия Bluetooth модул става стабилен и светлината на вашата уеб камера свети. Ако имате някакви проблеми, свържете се с мен чрез раздела за коментари и аз ще ви помогна.
Гледайте видеото в края, за да знаете как да калибрирате приложението си и да го използвате.
Ако искате да модифицирате кода и да вградите повече функции в това, можете да използвате следната информация за програмата
IDE за обработка може да бъде изтеглен от тук. Ако искате да научите повече за обработката и да създадете по-интересни проекти, можете да посетите уроците тук.
Обработката има възможност за четене на серийни данни, в тази програма серийните данни идват от Bluetooth COM порта. Трябва да изберете към кой COM порт е свързан вашият Bluetooth, като използвате този ред по-долу
порт = нов сериен (този, Serial.list (), 9600);
Тук съм избран моята 1 -ви COM порт, който е COM5 в моя случай (вижте изображението по-долу) и аз споменах, че чрез Bluetooth модул работи на 9600 baudrate.
Както споменахме по-ранната обработка също има възможност за обработка на изображения, в този урок изображенията се изпращат в скицата с помощта на уеб камера. Във всяко изображение проследяваме за определен обект. За да научите повече за това, можете да посетите този урок.
Постарах се по най-добрия начин да обясня програмата (дадена в края) чрез редовете за коментари. Можете да изтеглите файловете тук.
Ако искате да научите повече за скицата, можете да се свържете с мен чрез раздела за коментари и аз ще ви помогна.
Работа:
След като хардуерът и софтуерът са готови, носете ръкавиците и се пригответе за някакви действия. Сега просто захранвайте Arduino и след това стартирайте приложението. Светодиодът на Bluetooth модула трябва да работи стабилно. Сега това означава, че вашето системно приложение е установило Bluetooth връзка с вашия Arduino.
Ще получите следния екран, където трябва да изберете обекта, който да бъде проследен. Това проследяване може просто да се направи, като щракнете върху обекта. В този случай обектът е син диск. Сега можете да преместите обекта си и да забележите, че указателят следва обекта ви. Използвайте уникален цветен обект и светла стая за най-добри резултати.
Сега докоснете пръста на палеца си с показалец и ще видите съобщението „Натиснат клавиш 1“, а когато натиснете палеца със средния пръст, трябва да видите „Натиснат клавиш 2“, това показва, че всичко работи добре и калибрирането е приключило. Сега кликнете върху бутона Готово.
След като натиснете бутона „Готово“, ще бъдете насочени към главния екран, където можете да рисувате в ефир или да превключвате светодиода на дъската Arduino, както е показано във видеото по-долу.