- Pojem:
- Potřebné materiály:
- Schémata a hardware:
- Program pro Arduino:
- Program pro zpracování:
- Pracovní:
Jedná se o velmi zajímavý projekt, ve kterém se naučíme implementovat virtuální realitu pomocí Arduina a Processing. Pro většinu z nás byl film Iron Man od Jona Favreaua vždy inspirací pro vytváření nových věcí, díky nimž bude náš život snadnější a zábavnější. Osobně jsem obdivoval Techy, které jsou uvedeny ve filmu, a vždy jsem chtěl něco podobného postavit. V tomto projektu jsem se tedy pokusil napodobit obsah virtuální reality, který se ve filmu odehrává, jako bychom mohli jednoduše mávat rukou před počítačem, přesunout ukazatel na požadované místo a provést nějaké úkoly.
Zde vám ukážu, jak můžete jednoduše mávat rukou před webovou kamerou a něco nakreslit do počítače. Ukážu vám také, jak můžete přepínat světla virtuálním pohybem ruky a klikáním s prsty ve vzduchu.
Pojem:
Abychom toho dosáhli, musíme využít sílu Arduina a zpracování dohromady. Většina z nich by byla s Arduinem obeznámena, ale zpracování by pro vás mohlo být nové. Zpracování je aplikace stejně jako Arduino a je také otevřeným zdrojem a zdarma ke stažení. Pomocí Zpracování můžete vytvářet jednoduché systémové aplikace, aplikace pro Android a mnoho dalšího. Má také schopnost provádět zpracování obrazu a rozpoznávání hlasu. Je to jako Arduino a je snadné se ho naučit, ale nebojte se, pokud jste se zpracováním úplně nový, protože jsem tento tutoriál napsal celkem jednoduše, aby ho každý, kdo má zájem, mohl v co nejkratší době zprovoznit.
V tomto tutoriálu používáme Zpracování k vytvoření jednoduché systémové aplikace, která nám poskytuje uživatelské rozhraní a pomocí aplikace Zpracování obrazu sledujeme polohu naší ruky. Nyní musíme kliknout levým a pravým tlačítkem pomocí prstů. K tomu jsem použil dva Hallovy senzory (jeden na mém ukazováčku a druhý na prostředním prstu), které čte Arduino Nano. Arduino také bezdrátově přenáší stav kliknutí do počítače přes Bluetooth.
Může to znít komplikovaně, ale Věř mi; není to tak těžké, jak to zní. Pojďme se tedy podívat na materiály potřebné k tomu, aby byl tento projekt funkční.
Potřebné materiály:
- Arduino Nano
- Hallův senzor (A3144) - 2 č
- Malý kousek magnetu
- Bluetooth modul (HC-05 / HC-06)
- 9V baterie
- Připojení vodičů Dot deska.
- Pár rukavic
- Arduino IDE (software)
- Zpracování IDE (software)
- Počítač s webovou kamerou a Bluetooth (pro svůj počítač můžete použít také externí Bluetooth nebo webovou kameru)
Schémata a hardware:
Hardwarová část tohoto projektu je velmi jednoduchá a snadno sestavitelná. Kompletní schéma je uvedeno níže.
Arduino, rezistory a kolíky berg stick jsou připájeny na tečkovanou desku, jak je znázorněno níže.
Hallův senzor a modul Bluetooth jsou připájeny ke konektorovému vodiči, jak je znázorněno níže.
Jakmile jsou tyto dvě části připraveny, lze je sestavit na rukavice, aby se snadno používaly. Použil jsem jednorázové plastové rukavice, které lze zakoupit v jakémkoli lékařském obchodě ve vašem okolí. Měli byste se ujistit, že magnet přiléhá na váš palec a Hallův senzor 1 a Hallův senzor 2 by měly být přítomny před ukazovákem a prostředníkem. K zajištění komponentů na místě jsem použil kachní pásky. Jakmile jsou komponenty sestaveny, mělo by to vypadat nějak takto.
Nyní si otevřete Arduino IDE a začněte programovat.
Program pro Arduino:
Účelem tohoto Arduino kódu je číst stav halového senzoru a vysílat je pomocí modulu Bluetooth. Mělo by také přijímat data z Bluetooth a přepínat integrovanou LED na základě příchozí hodnoty. Kompletní program je uveden na konci tohoto tutoriálu; Níže jsem také vysvětlil několik řádků.
if (Phs1! = HallState_1 - Phs2! = HallState_2) // Zkontrolujte, zda jsou stisknuty 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); }
Jak je znázorněno na výše uvedených řádcích na základě stavu halového senzoru, Bluetooth zapíše konkrétní hodnotu. Například pokud je halový senzor 1 vysoký a halový senzor 2 nízký, budeme vysílat údolí „2“ prostřednictvím modulu Bluetooth. Nezapomeňte hodnoty zapsat do modulu BT a nevytisknout je. Protože bude snadné číst pouze na straně Zpracování, pouze pokud jsou zapsány. Hodnota se také odešle, pouze pokud není stejná jako předchozí hodnota.
if (BluetoothData == 'y') digitalWrite (ledpin, HIGH); if (BluetoothData == 'n') digitalWrite (ledpin, LOW);
Tyto linky se používají k přepínání palubní LED, která je připojena k Pin 13, na základě hodnoty přijímané modulem BT. Například pokud modul přijme „y“, pak se rozsvítí LED a pokud obdrží „n“, pak se vypne.
Program pro zpracování:
Účelem programu Zpracování je vytvořit systémovou aplikaci, která může fungovat jako uživatelské rozhraní (uživatelské rozhraní) a také provádět zpracování obrazu ke sledování konkrétního objektu. V tomto případě sledujeme modrý předmět, který jsme nalepili na rukavice výše. Program má v zásadě čtyři obrazovky.
- Kalibrační obrazovka
- Úvodní obrazovka
- Malování obrazovky
- Přepínací obrazovka LED
Můžeme navigovat z jedné obrazovky na druhou jednoduše mávnutím rukou a přetažením obrazovek ve vzduchu. Můžeme také klikat na požadovaná místa, abychom přepínali LED nebo dokonce něco nakreslili na obrazovku.
Můžete zkopírovat a vložit kompletní program zpracování (uvedený na konci) a upravit jej na základě vaší kreativity nebo jednoduše stáhnout soubory EXE odtud a spustit aplikaci podle následujících kroků.
- Nainstalujte si do počítače JAVA, pokud jste ji ještě nenainstalovali
- Nainstalujte si You Cam perfektně do svého počítače
- Zapněte Arduino a spárujte počítač s modulem Bluetooth
- Spusťte soubor aplikace
Pokud vše půjde dobře, měli byste si všimnout, že LED na vašem modulu Bluetooth se stabilizuje a rozsvítí se světlo vaší webové kamery. Pokud máte nějaké problémy, obraťte se na mě v sekci komentářů a já vám pomůžu.
Podívejte se na video na konci, abyste věděli, jak kalibrovat aplikaci a používat ji.
Pokud chcete upravit kód a do toho zabudovat další funkce, můžete použít následující přehled programu
Zpracování IDE lze stáhnout zde. Pokud se chcete dozvědět více o zpracování a vytvářet zajímavější projekty, můžete navštívit výukové programy zde.
Zpracování má schopnost číst sériová data, v tomto programu sériová data pocházejí z Bluetooth COM portu. Pomocí tohoto řádku níže musíte vybrat, ke kterému portu COM se vaše Bluetooth připojuje
port = new Serial (this, Serial.list (), 9600);
Zde jsem vybral svůj první COM port, který je v mém případě COM5 (viz obrázek níže) a zmínil jsem se, že modul Bluetooth běží na 9600 baudrate.
Jak již bylo řečeno, dřívější zpracování má také schopnost provádět zpracování obrázků, v tomto výukovém programu se obrázky odesílají do skici pomocí webové kamery. V každém obrázku sledujeme konkrétní objekt. Chcete-li se dozvědět více, navštivte tento návod.
Snažil jsem se ze všech sil vysvětlit program (uvedený na konci) prostřednictvím řádků komentářů. Soubory si můžete stáhnout zde.
Pokud se chcete dozvědět více o náčrtu, můžete mě kontaktovat v sekci komentářů a já vám pomůžu.
Pracovní:
Jakmile je hardware a software připraven, noste rukavice a připravte se na nějakou akci. Nyní jednoduše zapněte Arduino a poté spusťte aplikaci. LED na modulu Bluetooth by měla zůstat stabilní. Nyní to znamená, že vaše systémová aplikace vytvořila Bluetooth spojení s vaším Arduinem.
Zobrazí se následující obrazovka, kde musíte vybrat objekt, který chcete sledovat. Toto trasování lze jednoduše provést kliknutím na objekt. V tomto případě je objekt modrý disk. Nyní můžete přesunout svůj objekt a všimnout si, že ukazatel sleduje váš objekt. Pro dosažení nejlepších výsledků použijte jedinečný barevný objekt a světlou místnost.
Nyní se dotkněte prstu ukazováčku a měla by se zobrazit zpráva „Tlačítko 1 stisknuto“. Když stisknete palec prostředním prstem, mělo by se zobrazit tlačítko „Tlačítko 2 stisknuto“, což znamená, že vše funguje dobře a kalibrace skončila. Nyní klikněte na tlačítko Hotovo.
Jakmile stisknete tlačítko Hotovo, budete přesměrováni na hlavní obrazovku, kde můžete malovat vzduchem nebo přepínat LED na desce Arduino, jak je znázorněno na videu níže.