- Koncepció:
- Szükséges anyagok:
- Sémák és hardver:
- Program az Arduino számára:
- Program feldolgozásra:
- Dolgozó:
Ez egy nagyon érdekes projekt, amelynek során megtanuljuk, hogyan valósítsuk meg a virtuális valóságot az Arduino és a Processing segítségével. Legtöbbünk számára Jon Favreau Vasember című film mindig inspirációt jelentett új dolgok felépítésére, amelyek megkönnyítik és szórakoztatóbbá teszik életünket. Személyesen csodáltam a filmben bemutatott technikákat, és mindig szerettem volna valami hasonlót felépíteni. Tehát ebben a projektben megpróbáltam utánozni a filmben előforduló virtuális valóság cuccait, mint például, hogy egyszerűen meglengetjük a kezünket a számítógép előtt, és a mutatót a kívánt helyre mozgatjuk, és elvégezhetünk néhány feladatot.
Itt megmutatom, hogyan lehet egyszerűen integetni a kezével a webkamera előtt, és rajzolni valamit a számítógépére. Azt is megmutatom, hogyan kapcsolhatja be a fényeket úgy, hogy gyakorlatilag megmozgatja a kezét, és kattintásokat tesz az ujjaival a levegőben.
Koncepció:
Ennek megvalósításához ki kell használnunk az Arduino és a Processing együttes erejét. Legtöbbjük ismeri az Arduino-t, de a feldolgozás új lehet az Ön számára. A feldolgozás olyan alkalmazás, mint az Arduino, és nyílt forráskódú, valamint ingyenesen letölthető. A Processing használatával egyszerű rendszeralkalmazásokat, Android-alkalmazásokat és még sok mást hozhat létre. Képfeldolgozásra és hangfelismerésre is képes. Pontosan olyan, mint az Arduino, és nagyon könnyen megtanulható, de ne aggódjon, ha teljesen új ismeretekkel rendelkezik a feldolgozásban, mert ezt az oktatóanyagot meglehetősen egyszerűnek írtam, hogy bárki, akit érdekel, ezt pillanatok alatt működni tudja.
Ebben az oktatóanyagban a Processing segítségével létrehozunk egy egyszerű rendszeralkalmazást, amely felhasználói felületet biztosít számunkra, és képfeldolgozással követi nyomon a kezünk helyzetét. Most bal és jobb gombbal kell kattintanunk az ujjaink segítségével. Ennek megvalósításához két hall érzékelőt használtam (az egyiket a mutatóujjamon, a másikat a középső ujjamon), amelyeket az Arduino Nano fog olvasni. Az Arduino a kattintás állapotát Bluetooth-on keresztül vezeték nélkül továbbítja a számítógépre is.
Talán bonyolultnak hangzik, de bízz bennem; nem olyan nehéz, mint amilyennek hangzik. Vessünk egy pillantást a projekt működéséhez szükséges anyagokra.
Szükséges anyagok:
- Arduino Nano
- Hall-érzékelő (A3144) - 2Nos
- Egy kis darab mágnes
- Bluetooth modul (HC-05 / HC-06)
- 9V-os akkumulátor
- Vezetékek csatlakoztatása Dot tábla.
- Egy pár kesztyű
- Arduino IDE (szoftver)
- IDE (szoftver) feldolgozása
- Webkamerás és Bluetooth-os számítógép (külső Bluetooth-ot vagy webkamerát is használhat a számítógépéhez)
Sémák és hardver:
A projekt hardver része nagyon egyszerű és könnyen felépíthető. A teljes vázlatot az alábbiakban mutatjuk be.
Az Arduino, az ellenállások és a berg pálcák csapjai egy táblára vannak forrasztva, az alábbiak szerint.
A hall-érzékelőt és a Bluetooth-modult egy aljzathoz forrasztják az alábbiak szerint.
Miután ez a két rész készen áll, kesztyűre szerelhető, így könnyen használható. Használtam eldobható műanyag kesztyűt, amely megvásárolható a közeli bármely orvosi üzletben. Ügyeljen arra, hogy a mágnes a hüvelykujján jusson, és az 1. hall érzékelőnek és a 2. hall érzékelőnek a mutató és a középső ujja előtt kell lennie. Kacsaszalagokat használtam az alkatrészek rögzítéséhez. Miután az alkatrészeket összeszerelték, valami ilyennek kell kinéznie.
Most nyissuk meg az Arduino IDE-t és kezdjük el a programozást.
Program az Arduino számára:
Ennek az Arduino kódnak az a célja, hogy leolvassa a hall érzékelő állapotát és a Bluetooth modul segítségével sugározza őket. Emellett adatokat kell fogadnia a Bluetooth-tól, és be kell kapcsolnia a fedélzeti LED-et a bejövő érték alapján. A teljes program a bemutató végén található; Az alábbiakban néhány sort is elmagyaráztam.
if (Phs1! = HallState_1 - Phs2! = HallState_2) // Ellenőrizze, hogy nem nyomtak-e meg új gombokat {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); }
Amint a fenti sorokban látható a hall-érzékelő állapota alapján, a Bluetooth egy adott értéket fog írni. Például, ha az 1. hall-érzékelő magas, és a 2. hall-érzékelő alacsony, akkor a „2” szelepet a Bluetooth modulon keresztül sugározzuk. Ügyeljen arra, hogy az értékeket a BT modulba írja, és ne nyomtassa ki őket. Mivel csak akkor lesz könnyű elolvasni a Processing oldalon, ha meg vannak írva. Az értéket is csak akkor küldi el, ha nem ugyanaz, mint az előző érték.
if (BluetoothData == 'y') digitalWrite (ledpin, HIGH); if (BluetoothData == 'n') digitalWrite (ledpin, LOW);
Ezekkel a vonalakkal kapcsolhatja a fedélzeti LED-et, amely a 13 érintkezőhöz csatlakozik, a BT modul által kapott érték alapján. Például, ha a modul y-t kap, akkor a LED bekapcsol, és ha n-t kap, akkor kikapcsol.
Program feldolgozásra:
A Processing program célja egy olyan rendszeralkalmazás létrehozása, amely UI-ként (felhasználói felületként) működhet, és képfeldolgozást is végezhet egy adott objektum követésére. Ebben az esetben a kék tárgyat követjük, amelyet a kesztyűnkre ragasztottunk fent. A programnak alapvetően négy képernyője van.
- Kalibrációs képernyő
- Fő képernyő
- Festék képernyő
- LED váltó képernyő
Navigálhatunk egyik képernyőről a másikra, ha egyszerűen meglengetjük a kezünket és a képernyőket a levegőben húzzuk. Kattinthatunk a kívánt helyekre is, hogy váltsunk a LED-re, vagy akár rajzoljunk is valamit a képernyőn.
Másolhatja a teljes (a végén megadott) Processing program beillesztését és a kreativitása alapján módosíthatja, vagy egyszerűen letöltheti innen az EXE fájlokat, és az alkalmazás elindításához kövesse az alábbi lépéseket.
- Telepítse a JAVA-t a számítógépére, ha még korábban nem telepítette
- Telepítse tökéletesen a You Cam alkalmazást a számítógépére
- Kapcsolja be az Arduino készüléket, és párosítsa a számítógépet a Bluetooth modullal
- Indítsa el az alkalmazás fájlt
Ha minden rendben van, észre kell vennie, hogy a Bluetooth modul LED-je stabilizálódik, és a webkamera világítása folyamatosan világít. Ha bármilyen problémája van, keressen meg engem a megjegyzés részben, és segítek.
Nézze meg a videót a végén, hogy megtudja, hogyan kell kalibrálni az alkalmazást és használni.
Ha módosítani kívánja a kódot, és további funkciókat kíván beépíteni ebbe, használhatja a program következő betekintését
A feldolgozó IDE innen tölthető le. Ha többet szeretne megtudni a feldolgozásról és érdekesebb projekteket szeretne létrehozni, akkor látogassa meg az oktatóanyagokat itt.
A feldolgozás képes a soros adatok olvasására, ebben a programban a soros adatok a Bluetooth COM portról származnak. Az alábbi sor segítségével ki kell választania, hogy melyik COM porthoz csatlakozik a Bluetooth
port = new Serial (ez, Serial.list (), 9600);
Itt a kiválasztott én 1 -jén COM port, amely COM5 esetemben (lásd az alábbi képet), és azt említette, hogy a Bluetooth modul fut 9600 baud.
Mint említettük, a korábbi feldolgozás képes képfeldolgozásra is, ebben az oktatóanyagban a képeket a vázlat belsejében küldik webkamerával. Minden képen nyomon követünk egy adott objektumot. Ha többet szeretne megtudni erről, látogassa meg ezt az oktatóanyagot.
A lehető legjobban megpróbáltam megmagyarázni a programot (a végén megadva) a megjegyzések sorain keresztül. A fájlokat innen töltheti le.
Ha többet szeretne megtudni a vázlatról, akkor a hozzászólás szakaszon keresztül eljuthat hozzám, és segítek.
Dolgozó:
Miután elkészült a hardver és a szoftver, viseljen kesztyűt, és készüljön fel valamilyen cselekvésre. Most egyszerűen kapcsolja be az Arduino-t, majd indítsa el az alkalmazást. A Bluetooth modul ledjének stabilnak kell lennie. Ez azt jelenti, hogy a Rendszer alkalmazás létrehozott egy Bluetooth kapcsolatot az Arduinóval.
Ekkor megjelenik a következő képernyő, ahol ki kell választania a követni kívánt objektumot. Ez a nyomkövetés egyszerűen elvégezhető az objektumra kattintva. Ebben az esetben az objektum a kék lemez. Most mozgathatja az objektumát, és észreveheti, hogy a mutató követi az objektumot. Használjon egyedi színű tárgyat és világos szobát a legjobb eredmény érdekében.
Most érintse meg a mutatóujjával a hüvelykujját, és látnia kell a „1-es gomb megnyomva” üzenetet, és amikor a hüvelykujját megnyomja a középső ujjával, akkor a „2-es gomb megnyomva” üzenetet kell látnia, ez azt jelzi, hogy minden rendben működik, és a kalibrálás befejeződött. Most kattintson a Kész gombra.
Miután megnyomta a Kész gombot, a főképernyőre irányul, ahol festhet levegőre, vagy átkapcsolhatja az Arduino tábla LED-jét az alábbi videó szerint.