- Koncept:
- Potrebné materiály:
- Schémy a hardvér:
- Program pre Arduino:
- Program na spracovanie:
- Pracovné:
Jedná sa o veľmi zaujímavý projekt, v ktorom sa naučíme implementovať virtuálnu realitu pomocou programov Arduino a Processing. Pre väčšinu z nás bol film Iron Man od Jona Favreaua vždy inšpiráciou pri vytváraní nových vecí, vďaka ktorým bude náš život ľahší a zábavnejší. Osobne som obdivoval technikov, ktorí sú uvedení vo filme, a vždy som chcel stavať niečo podobné. V tomto projekte som sa teda pokúsil napodobniť obsah virtuálnej reality, ktorý sa vo filme vyskytuje, akoby sme mohli jednoducho mávnuť rukou pred počítačom, presunúť ukazovateľ na požadované miesto a vykonať niektoré úlohy.
Tu vám ukážem, ako môžete jednoducho mávať rukou pred webovou kamerou a nakresliť niečo na počítači. Ukážem vám tiež, ako môžete prepínať svetlá virtuálnym pohybom ruky a klikaním s prstami vo vzduchu.
Koncept:
Aby sme to dosiahli, musíme spoločne využiť silu Arduina a spracovania. Väčšina z nich by ovládala Arduino, ale spracovanie by pre vás mohlo byť nové. Spracovanie je aplikácia ako Arduino a je to tiež Open source a je zadarmo na stiahnutie. Pomocou Spracovania môžete vytvárať jednoduché systémové aplikácie, aplikácie pre Android a oveľa viac. Má tiež schopnosť vykonávať spracovanie obrazu a rozpoznávanie hlasu. Je to ako Arduino a dá sa ľahko naučiť, ale nemusíte sa báť, ak ste so spracovaním úplne nová, pretože tento návod som napísal pomerne jednoducho, aby ho každý so záujmom mohol v krátkom čase pripraviť.
V tomto tutoriáli používame spracovanie na vytvorenie jednoduchej systémovej aplikácie, ktorá nám poskytuje UI a pomocou aplikácie Image sledujeme polohu našej ruky. Teraz musíme kliknúť ľavým a pravým tlačidlom prstov. Aby som to dosiahol, použil som dva Hallove senzory (jeden na ukazováku a druhé na prostredníku), ktoré bude čítať Arduino Nano. Arduino tiež prenáša stav kliknutia do počítača bezdrôtovo cez Bluetooth.
Môže to znieť komplikovane, ale verte mi; nie je to také ťažké, ako to znie. Poďme sa teda pozrieť na materiály potrebné na to, aby bol tento projekt funkčný.
Potrebné materiály:
- Arduino Nano
- Hallov senzor (A3144) - 2č
- Malý kúsok magnetu
- Modul Bluetooth (HC-05 / HC-06)
- 9V batéria
- Pripojenie vodičov Bodová doska.
- Rukavice
- Arduino IDE (softvér)
- Spracovanie IDE (softvér)
- Počítač s webovou kamerou a Bluetooth (pre svoj počítač môžete použiť aj externé Bluetooth alebo webovú kameru)
Schémy a hardvér:
Hardvérová časť tohto projektu je veľmi jednoduchá a ľahko sa zostavuje. Kompletná schéma je uvedená nižšie.
Arduino, rezistory a kolíky berg stick sú pripájané na bodovú dosku, ako je to znázornené nižšie.
Hallov senzor a modul Bluetooth sú spájkované na konektore podľa obrázka nižšie.
Hneď ako sú tieto dve časti pripravené, je možné ich ľahko spojiť s rukavicami. Použil som jednorazové plastové rukavice, ktoré je možné kúpiť v ktoromkoľvek lekárskom obchode vo vašej blízkosti. Mali by ste sa uistiť, že magnet dopadá na váš palcový prst a Hallov senzor 1 a Hall senzor 2 by mali byť prítomné pred ukazovákom a prostredníkom. Na pripevnenie komponentov som použil kačacie pásky. Po zostavení komponentov by to malo vyzerať asi takto.
Teraz otvorme IDE Arduino a začnime programovať.
Program pre Arduino:
Účelom tohto Arduino kódu je prečítať stav hallového senzora a vysielať ich pomocou modulu Bluetooth. Mal by tiež prijímať údaje z Bluetooth a prepínať integrované LED na základe prichádzajúcej hodnoty. Kompletný program je uvedený na konci tohto tutoriálu; Ďalej som vysvetlil niekoľko riadkov.
if (Phs1! = HallState_1 - Phs2! = HallState_2) // Skontrolujte, či sú stlačené nové klávesy {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); }
Ako je znázornené na vyššie uvedených riadkoch, stav Bluetooth zapíše konkrétnu hodnotu podľa stavu halového senzora. Napríklad ak je halový snímač 1 vysoký a halový snímač 2 nízky, budeme vysielať údolie „2“ prostredníctvom modulu Bluetooth. Nezabudnite hodnoty zapísať do modulu BT a nevytlačiť ich. Pretože bude ľahké čítať iba na strane Spracovania, iba ak sú napísané. Hodnota sa tiež odošle, iba ak nie je rovnaká ako predchádzajúca hodnota.
if (BluetoothData == 'y') digitalWrite (ledpin, HIGH); if (BluetoothData == 'n') digitalWrite (ledpin, LOW);
Tieto riadky sa používajú na prepínanie palubnej LED, ktorá je pripojená k vývodu 13, na základe hodnoty prijatej modulom BT. Napríklad ak modul prijme „y“, potom sa rozsvieti LED dióda a ak prijme „n“, potom sa vypne.
Program na spracovanie:
Účelom programu Processing je vytvoriť systémovú aplikáciu, ktorá môže fungovať ako UI (užívateľské rozhranie) a tiež vykonávať spracovanie obrazu na sledovanie konkrétneho objektu. V takom prípade sledujeme modrý predmet, ktorý sme si nalepili vyššie na rukavice. Program má v podstate štyri obrazovky.
- Kalibračná obrazovka
- Hlavná obrazovka
- Skicár
- Prepínacia obrazovka LED
Môžeme prechádzať z jednej obrazovky na druhú jednoduchým mávnutím rúk a pretiahnutím obrazoviek vo vzduchu. Môžeme tiež kliknúť na požadované miesta, aby sme prepínali LED alebo dokonca niečo nakreslili na obrazovku.
Môžete skopírovať a prilepiť celý program na spracovanie (uvedený na konci) a upraviť ho na základe vašej kreativity alebo odtiaľ jednoducho stiahnuť súbory EXE a aplikáciu spustiť podľa nasledujúcich pokynov.
- Nainštalujte si do svojho počítača JAVA, ak ste ju predtým nenainštalovali
- Nainštalujte si aplikáciu Cam Cam perfektne do svojho počítača
- Zapnite svoje Arduino a spárujte počítač s modulom Bluetooth
- Spustite súbor aplikácie
Ak všetko pôjde ako má, mali by ste si všimnúť stabilizáciu LED diódy na vašom Bluetooth module a rozsvietenie svetla webovej kamery. Ak máte nejaké problémy, obráťte sa na mňa v sekcii komentárov a pomôžem vám.
Na konci videa si pozrite, ako kalibrovať aplikáciu a používať ju.
Ak chcete upraviť kód a včleniť doňho ďalšie funkcie, môžete použiť nasledujúce informácie o programe
Spracovanie IDE je možné stiahnuť tu. Ak sa chcete dozvedieť viac o spracovaní a vytvoriť zaujímavejšie projekty, môžete navštíviť návody tu.
Spracovanie má schopnosť čítať sériové dáta, v tomto programe sériové dáta pochádzajú z Bluetooth COM portu. Pomocou tohto riadku nižšie musíte zvoliť, ku ktorému portu COM je vaše Bluetooth pripojené
port = new Serial (this, Serial.list (), 9600);
Tu som si vybrala svoju 1 st COM port, ktorý je COM5 v mojom prípade (pozri obrázok nižšie), a ja som sa zmienil, že beží Bluetooth modul na 9600 prenosovú rýchlosť.
Ako už bolo povedané, predchádzajúce spracovanie má tiež schopnosť vykonávať spracovanie obrázkov, v tomto výučbe sa obrázky odosielajú do skice pomocou webovej kamery. Na každom obrázku sledujeme konkrétny objekt. Ak sa chcete dozvedieť viac, navštívte tento návod.
Snažil som sa čo najlepšie vysvetliť program (uvedený na konci) prostredníctvom riadkov komentárov. Súbory si môžete stiahnuť tu.
Ak sa chcete dozvedieť viac o náčrte, môžete ma kontaktovať prostredníctvom sekcie komentárov a pomôžem vám.
Pracovné:
Keď je hardvér a softvér pripravený, noste rukavice a pripravte sa na akciu. Teraz stačí napájať Arduino a potom spustiť aplikáciu. LED dióda na module Bluetooth by mala zostať stabilná. Teraz to znamená, že vaša systémová aplikácia nadviazala Bluetooth spojenie s vašim Arduino.
Dostanete sa na nasledujúcu obrazovku, kde musíte zvoliť objekt, ktorý chcete sledovať. Toto sledovanie je možné jednoducho vykonať kliknutím na objekt. V takom prípade je objekt modrý disk. Teraz môžete presunúť svoj objekt a všimnúť si, že ukazovateľ sleduje váš objekt. Najlepšie výsledky dosiahnete použitím jedinečného farebného objektu a svetlej miestnosti.
Teraz sa dotknite palca prsta ukazovákom a mala by sa zobraziť správa „Tlačidlo 1 stlačené“. Keď stlačíte palec prostredníkom, malo by sa zobraziť hlásenie „Tlačidlo 2 stlačené“, čo znamená, že všetko funguje dobre a kalibrácia skončila. Teraz kliknite na tlačidlo Hotovo.
Po stlačení tlačidla Hotovo budete presmerovaní na hlavnú obrazovku, kde môžete maľovať vzduchom alebo prepínať LED na doske Arduino, ako je zobrazené na videu nižšie.