Ovo je vrlo zanimljiv projekt u kojem ćemo naučiti kako implementirati virtualnu stvarnost koristeći Arduino i Processing. Za većinu nas film Iron man Jona Favreaua uvijek je bio inspiracija za izgradnju novih stvari koje će nam život učiniti lakšim i zabavnijim. Osobno sam se divio tehničarima koji su prikazani u filmu i uvijek sam želio izgraditi nešto slično tome. Dakle, u ovom sam projektu pokušao oponašati stvari iz virtualne stvarnosti koje se događaju u filmu, poput toga da jednostavno možemo odmahnuti rukom ispred računala i pomaknuti pokazivač na željeno mjesto i obaviti neke zadatke.
Ovdje ću vam pokazati kako možete jednostavno mahnuti rukom ispred web kamere i nacrtati nešto na računalu. Pokazat ću vam i kako možete prebacivati svjetla tako što ćete virtualno pomicati ruku i klikati prstima u zraku.
Koncept:
Da bi se to dogodilo moramo iskoristiti snagu Arduina i Processinga zajedno. Većina korisnika bio bi upoznat s Arduinom, ali obrada bi mogla biti nova za vas. Obrada je aplikacija poput Arduina, također je otvorenog koda i besplatna za preuzimanje. Korištenjem Processing možete stvoriti jednostavne sistemske aplikacije, Android programe i još mnogo toga. Također ima mogućnost obrade slike i prepoznavanja glasa. Baš je poput Arduina i mnogo ga je lako naučiti, ali ne brinite ako ste potpuno novi u obradi jer sam napisao ovaj priručnik prilično jednostavno, tako da svatko koga zanima može u kratkom vremenu ovo učiniti.
U ovom uputstvu koristimo Obradu za stvaranje jednostavne sistemske aplikacije koja nam pruža korisničko sučelje i pratimo položaj naše ruke pomoću Obrade slika. Sada moramo prstima pritisnuti lijevi i desni klik. Da bih se to dogodilo upotrijebio sam dva dvoranska senzora (jedan na kažiprstu, a drugi na srednjem prstu) koji će čitati Arduino Nano. Arduino također prenosi status klika na Računalo bežično putem Bluetootha.
Možda zvuči komplicirano, ali, vjerujte mi; nije tako teško kako zvuči. Pa, pogledajmo materijale potrebne za pokretanje ovog projekta.
Potrebni materijali:
- Arduino Nano
- Hall senzor (A3144) - 2Br
- Mali komad magneta
- Bluetooth modul (HC-05 / HC-06)
- 9V baterija
- Spajanje žica Dot ploča.
- Par rukavica
- Arduino IDE (softver)
- Obrada IDE-a (softver)
- Računalo s web kamerom i Bluetoothom (za računalo možete koristiti i vanjski Bluetooth ili web kameru)
Sheme i hardver:
Hardverski dio ovog projekta vrlo je jednostavan i jednostavan za izgradnju. Kompletna shema prikazana je u nastavku.

Arduino, otpornici i igle berg stick-a zalemljeni su na ploču s točkama kao što je prikazano dolje.

Hallov senzor i Bluetooth modul zalemljeni su na priključnu žicu kako je prikazano dolje.

Nakon što su ova dva odjeljka spremna, mogu se sastaviti na rukavice tako da su jednostavne za upotrebu. Koristio sam jednokratne plastične rukavice koje možete kupiti u bilo kojoj medicinskoj radnji u vašoj blizini. Trebali biste osigurati da magnet dolazi na vaš prst palca, a dvoranski senzor 1 i Hall senzor 2 trebaju biti prisutni prije vašeg indeksnog i srednjeg prsta. Rabe sam trake za patke da učvrstim komponente na mjestu. Jednom kad se komponente sastave, trebalo bi izgledati otprilike ovako.

Sada otvorimo Arduino IDE i krenimo s programiranjem.
Program za Arduino:
Svrha ovog Arduino koda je očitavanje statusa dvoranskog senzora i njihovo emitiranje pomoću Bluetooth modula. Također bi trebao primati podatke s Bluetootha i prebacivati ugrađenu LED diodu na temelju dolazne vrijednosti. Kompletni program dan je na kraju ovog vodiča; Također sam objasnio nekoliko redaka u nastavku.
if (Phs1! = HallState_1 - Phs2! = HallState_2) // Provjeri jesu li pritisnute nove tipke {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); }
Kao što je prikazano u gornjim redovima, na temelju statusa dvoranskog senzora, Bluetooth će zapisati određenu vrijednost. Na primjer, ako je senzor Hall 1 visok, a Hall senzor 2 nizak, tada ćemo emitirati vale "2" putem Bluetooth modula. Obavezno upišite vrijednosti u BT modul, a ne ih ispisujte. Budući da će biti lako pročitati jedino na strani Obrada samo ako su napisani. Također će vrijednost poslati samo ako nije ista kao prethodna vrijednost.
if (BluetoothData == 'y') digitalWrite (ledpin, HIGH); if (BluetoothData == 'n') digitalWrite (ledpin, LOW);
Te se crte koriste za prebacivanje ugrađene LED diode koja je spojena na pin 13, na temelju vrijednosti koju prima BT modul. Na primjer, ako modul primi 'y', tada se LED uključuje, a ako primi 'n', onda se isključuje.
Program za obradu:
Svrha programa Obrada je stvoriti sistemsku aplikaciju koja može djelovati kao korisničko sučelje (korisničko sučelje) i također izvoditi obradu slike za praćenje određenog objekta. U ovom slučaju pratimo plavi predmet koji smo zalijepili gore. Program u osnovi ima četiri zaslona.
- Zaslon za kalibraciju
- Glavni zaslon
- Zaslon za bojanje
- LED preklopni zaslon
Možemo se kretati s jednog zaslona na drugi jednostavnim mahanjem rukama i povlačenjem zaslona u zraku. Također možemo kliknuti na željena mjesta za prebacivanje LED-a ili čak i nacrtati nešto na ekranu.
Možete kopirati kompletan program za obradu (naveden na kraju) i zalijepiti ga na temelju vaše kreativnosti ili jednostavno preuzmite EXE datoteke odavde i slijedite sljedeće korake za pokretanje aplikacije.
- Instalirajte JAVA na svoje računalo ako ga prije niste instalirali
- Instalirajte You Cam perfect na svoje računalo
- Uključite svoj Arduino i uparite svoje računalo s Bluetooth modulom
- Pokrenite datoteku aplikacije
Ako sve bude u redu, trebali biste primijetiti kako LED na vašem Bluetooth modulu postaje stabilan, a lampica web kamere se uključuje. Ako imate bilo kakvih problema, kontaktirajte me putem odjeljka za komentare i ja ću vam pomoći.
Pogledajte videozapis na kraju da biste znali kako kalibrirati svoju aplikaciju i koristiti je.
Ako želite izmijeniti kôd i u njega ugraditi više značajki, možete koristiti sljedeće uvide u program
IDE za obradu možete preuzeti ovdje. Ako želite naučiti više o obradi i stvoriti zanimljivije projekte, ovdje možete posjetiti tutorijale.
Obrada ima mogućnost čitanja serijskih podataka, u ovom programu serijski podaci dolaze s Bluetooth COM porta. Pomoću ove donje crte morate odabrati na koji COM port se povezuje vaš Bluetooth
port = novi serijski (ovaj, Serial.list (), 9600);
Ovdje sam odabrao svoj prvi COM priključak koji je u mom slučaju COM5 (vidi sliku dolje) i spomenuo sam da Bluetooth modul radi na 9600 baudrate.

Kao što je ranije rečeno, obrada također ima mogućnost obrade slika, u ovom se priručniku slike šalju unutar skice pomoću web kamere. Na svakoj slici pratimo određeni objekt. Da biste saznali više o tome, posjetite ovaj vodič.
Trudio sam se najbolje objasniti program (dat na kraju) kroz retke komentara. Datoteke možete preuzeti ovdje.
Ako želite znati više o skici, možete me dobiti putem odjeljka za komentare i ja ću vam pomoći.
Radno:
Kad su hardver i softver spremni, nosite rukavice i pripremite se za neku akciju. Sada jednostavno uključite Arduino, a zatim pokrenite aplikaciju. LED na Bluetooth modulu trebao bi biti stabilan. Sada to znači da je vaša Sustavna aplikacija uspostavila Bluetooth vezu s vašim Arduinom.
Dobit ćete sljedeći zaslon na kojem morate odabrati objekt koji će se pratiti. To praćenje možete jednostavno izvršiti klikom na objekt. U ovom je slučaju objekt plavi disk. Sada možete premjestiti svoj objekt i primijetiti da pokazivač slijedi vaš objekt. Za najbolje rezultate koristite jedinstveni predmet u boji i svijetlu sobu.

Sada dodirnite prst palca kažiprstom i trebali biste vidjeti poruku "Pritisnuti tipku 1", a kada pritisnete palac srednjim prstom, trebali biste vidjeti "Pritisnite tipku 2", to znači da sve dobro radi i kalibracija je gotova. Sada kliknite gumb Gotovo.


Jednom kada se pritisne gumb Gotovo, preusmjerit ćete se na glavni zaslon gdje možete slikati u zrak ili prebacivati LED na Arduino ploči kao što je prikazano u donjem video zapisu.
