- Koncept:
- Potrebni materiali:
- Sheme in strojna oprema:
- Program za Arduino:
- Program za obdelavo:
- Delo:
To je zelo zanimiv projekt, v katerem se bomo naučili izvajati navidezno resničnost z uporabo Arduino in Processing. Za večino od nas je film Iron man Jona Favreauja vedno bil navdih za gradnjo novih stvari, ki bodo naše življenje olajšale in zabavale. Osebno sem občudoval tehnike, ki so prikazane v filmu, in vedno sem si želel zgraditi nekaj podobnega. Torej, v tem projektu sem poskušal posnemati stvari o navidezni resničnosti, ki se dogajajo v filmu, kot da lahko preprosto zamahnemo z roko pred računalnikom in premaknemo kazalec na želeno mesto ter opravimo nekatere naloge.
Tukaj vam bom pokazal, kako lahko preprosto zamahnete z roko pred spletno kamero in narišete nekaj v računalniku. Pokazal vam bom tudi, kako lahko preklapljate luči tako, da skoraj premikate roko in s prsti v zraku kliknete.
Koncept:
Da bi se to zgodilo, moramo izkoristiti moč Arduino in Processing skupaj. Večina ljudi bi bila seznanjena z Arduinom, vendar je obdelava za vas morda nova. Obdelava je aplikacija tako kot Arduino, prav tako je odprtokodna in brezplačna za prenos. Z obdelavo lahko ustvarite preproste sistemske aplikacije, aplikacije za Android in še veliko več. Ima tudi možnost obdelave slik in prepoznavanja glasu. Podobno je kot Arduino in se ga je zelo enostavno naučiti, vendar ne skrbite, če ste popolnoma novi v obdelavi, ker sem to vadnico napisal dokaj preprosto, tako da lahko vsakdo, ki vas zanima, to hitro prične.
V tej vadnici uporabljamo Obdelavo za ustvarjanje preproste sistemske aplikacije, ki nam zagotavlja uporabniški vmesnik in s pomočjo obdelave slik spremlja položaj naše roke. Zdaj moramo s prsti narediti levi klik in desni klik. Da bi se to zgodilo, sem uporabil dva dvoranska senzorja (enega na kazalcu in drugega na srednjem prstu), ki jih bo brala Arduino Nano. Arduino tudi pošlje stanje klika na računalnik brezžično prek Bluetootha.
Morda se sliši zapleteno, ampak, verjemite mi ni tako težko, kot se sliši. Oglejmo si torej materiale, potrebne za začetek delovanja tega projekta.
Potrebni materiali:
- Arduino Nano
- Hallov senzor (A3144) - 2 Št
- Majhen košček magneta
- Modul Bluetooth (HC-05 / HC-06)
- 9V baterija
- Povezovanje žic Dot plošča.
- Par rokavic
- Arduino IDE (programska oprema)
- Obdelava IDE (programska oprema)
- Računalnik s spletno kamero in Bluetoothom (za računalnik lahko uporabite tudi zunanji Bluetooth ali spletno kamero)
Sheme in strojna oprema:
Strojni del tega projekta je zelo preprost in enostaven za izdelavo. Celotna shema je prikazana spodaj.
Arduino, upori in zatiči berg stick so spajkani na pikčasto ploščo, kot je prikazano spodaj.
Hallov senzor in modul Bluetooth sta spajkana na priključno žico, kot je prikazano spodaj.
Ko sta ta dva odseka pripravljena, jo lahko sestavite na rokavice, tako da je enostavna za uporabo. Uporabila sem plastične rokavice za enkratno uporabo, ki jih lahko kupite v kateri koli medicinski trgovini v vaši bližini. Poskrbite, da bo magnet prispel na palec in da bosta pred kazalcem in sredincem prisotna Hall-ov senzor 1 in Hall-senzor 2. Za pritrditev komponent sem uporabil račje trakove. Ko so komponente sestavljene, bi moralo izgledati nekako takole.
Zdaj pa odprimo Arduino IDE in začnimo s programiranjem.
Program za Arduino:
Namen te kode Arduino je, da prebere stanje senzorja dvorane in jih odda prek modula Bluetooth. Prav tako bi moral prejemati podatke iz Bluetootha in vklopiti LED na vozilu glede na vhodno vrednost. Celoten program je podan na koncu te vaje; Spodaj sem razložil tudi nekaj vrstic.
if (Phs1! = HallState_1 - Phs2! = HallState_2) // Preveri, če se pritisnejo 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); }
Kot je prikazano v zgornjih vrsticah glede na stanje dvoranskega senzorja, bo Bluetooth zapisal določeno vrednost. Če je na primer senzor Hall 1 visok in senzor Hall 2 nizek, bomo valo "2" oddajali prek modula Bluetooth. Vrednosti zapišite v modul BT in jih ne natisnite. Ker bo enostavno brati edino na strani Obdelava le, če so napisane. Tudi vrednost bo poslana le, če ni enaka prejšnji vrednosti.
if (BluetoothData == 'y') digitalWrite (ledpin, HIGH); if (BluetoothData == 'n') digitalWrite (ledpin, LOW);
Te vrstice se uporabljajo za preklapljanje vgrajene LED diode, ki je priključena na zatič 13, glede na vrednost, ki jo prejme modul BT. Na primer, če modul prejme 'y', potem se LED vklopi in če prejme 'n', potem ugasne.
Program za obdelavo:
Namen programa za obdelavo je ustvariti sistemsko aplikacijo, ki lahko deluje kot uporabniški vmesnik (uporabniški vmesnik) in izvaja tudi obdelavo slik za sledenje določenemu predmetu. V tem primeru sledimo modremu predmetu, ki smo si ga nataknili zgoraj. Program ima v osnovi štiri zaslone.
- Zaslon za umerjanje
- Glavni zaslon
- Zaslon za barvanje
- LED preklop zaslona
Lahko se premikamo z enega zaslona na drugega tako, da preprosto mahamo z rokami in vlečemo zaslone v zrak. Kliknemo lahko tudi na želena mesta, da preklopimo LED ali celo kaj narišemo na zaslonu.
Lahko kopirate celoten program za obdelavo (naveden na koncu) in ga spremenite glede na svojo ustvarjalnost ali preprosto prenesete datoteke EXE od tu in sledite naslednjim korakom za zagon aplikacije.
- Namestite JAVA v računalnik, če je še niste namestili
- Namestite You Cam perfect v računalnik
- Vklopite svoj Arduino in računalnik seznanite z modulom Bluetooth
- Zaženite datoteko aplikacije
Če gre vse v redu, lahko opazite, kako LED na modulu Bluetooth postaja stabilna in lučka spletne kamere sveti. Če imate kakršne koli težave, se obrnite na mene prek komentarja in vam bom pomagal.
Oglejte si video na koncu, če želite vedeti, kako umeriti svojo aplikacijo in jo uporabiti.
Če želite spremeniti kodo in v to vgraditi več funkcij, lahko uporabite naslednji vpogled v program
IDE za obdelavo lahko prenesete od tukaj. Če želite izvedeti več o obdelavi in ustvariti zanimivejše projekte, lahko tukaj obiščete vadnice.
Obdelava ima možnost branja serijskih podatkov, v tem programu serijski podatki prihajajo iz vrat COM COM Bluetooth. S spodnjo vrstico morate izbrati vrata COM, s katerimi je povezan Bluetooth
port = new Serial (this, Serial.list (), 9600);
Tu sem izbral svoja prva vrata COM, ki so v mojem primeru COM5 (glej sliko spodaj), in omenil sem, da modul Bluetooth deluje na 9600 baudrate.
Kot smo že omenili, prejšnja obdelava omogoča tudi obdelavo slik, v tej vadnici se slike pošljejo v skico s pomočjo spletne kamere. Na vsaki sliki sledimo določenemu predmetu. Če želite izvedeti več o tem, obiščite to vadnico.
Po najboljših močeh sem poskušal razložiti program (podan na koncu) prek komentarjev. Datoteke lahko prenesete tukaj.
Če želite izvedeti več o skici, me pokličite v oddelku za komentarje in pomagal vam bom.
Delo:
Ko je strojna in programska oprema pripravljena, oblecite rokavice in se pripravite na nekaj dejanj. Zdaj preprosto vklopite Arduino in nato zaženite aplikacijo. LED na modulu Bluetooth bi moral biti stabilen. Zdaj to pomeni, da je vaša sistemska aplikacija vzpostavila povezavo Bluetooth z vašim Arduinom.
Dobili boste naslednji zaslon, na katerem morate izbrati predmet, ki mu želite slediti. To sledenje lahko preprosto izvedete s klikom na predmet. V tem primeru je predmet modri disk. Zdaj lahko premikate svoj objekt in opazite, da kazalec sledi vašemu predmetu. Za najboljše rezultate uporabite edinstven barvni predmet in svetlo sobo.
Zdaj se s kazalcem dotaknite palca in videlo bi se sporočilo »Pritisk na tipko 1«. Ko pritisnete palec s sredincem, bi se prikazalo sporočilo »Pritisnite tipko 2«, to pomeni, da vse deluje v redu in je kalibracija končana. Zdaj kliknite gumb Končano.
Ko pritisnete gumb Končano, boste preusmerjeni na glavni zaslon, kjer lahko v zraku slikate ali preklopite LED na plošči Arduino, kot je prikazano v spodnjem videu.