Számítógépre kötve

|

Nem csak kódok feltöltésére jó az Arduino USB-portja, cikkünkben bemutatjuk mit kell tenned, ha extra funkciókra vágynál.

Persze más módszerrel is elérheted a számítógéped képernyőjén a nyilacska mozgatását, ám ehhez a legtöbb esetben már az Arduino fejlesztői környezetén kívüli programok készítése szükséges melyekkel képes leszel a soros-monitorra küldött üzeneteket megfelelően feldolgozni. Egy másik lehetséges opció, ami sokkal komolyabb rizikófaktort hordoz magában a mikrovezérlőd flashelése, melynek legnagyobb buktatója, hogy az USB-porton keresztül a továbbiakban nem tudsz majd az eszközre feltölteni információt, így lényegében használhatatlanná válik eszközöd. Az igazán kísérletező szellemű felhasználók részletes leírásokat is találhatnak ezen folyamathoz internetszerte, de lehetőség szerint érdemes elkerülni ezt a megoldást.

Szenzoradatok Unityben

Igaz ugyan, hogy az Arduino Uno tulajoknak a Mouse könyvtár használatát mellőzniük kell, azonban léteznek opciók, melyekkel a soros-monitorra küldött információkat is feldolgozhatod. Természetesen ehhez már azért némi programozói tudás nem árt, hisz itt már könnyedén lehet, hogy a megfelelő eredmény eléréséhez több programnyelven is kódolnod kell majd. Az Arduino fejlesztői környezete mellett ezen funkció előcsalogatásához szükséged lesz a Unity szoftverre is, mellyel egy alapvető játékot alkothatsz meg az instrukcióink alapján, ahol egy kockát mozgathatsz a képernyőn a mikrovezérlőd közreműködésével. Az új módszert pedig nem csak új környezetben, hanem új eszközön és kiegészítőkkel tesztelheted, egy Genuino 101-es modell beszerzését javasoljuk a kódolás megkezdése előtt.

Az eszköz különlegessége, hogy felületén találhatsz egy beépített gyro-szenzort is, ezen adatokat vetheted be a Unityban készített játékod vezérlésére. A Genuino 101 példaprogramjai között a CurieMU csomagban találsz is ehhez egy tökéletes változatot, melyet csupán pár helyen kell módosítanod ahhoz, hogy a végeredmény a Unity számára is felismerhető kódot eredményezzen. Csupán a kiiratáson kell némileg változtatnod, a gx, gy és gz adatokat megjelenítő Serial.print(); utasításokat tartsd meg, a csak szövegeket tartalmazó függvényeket (ahol idézőjelek között szerepel az információ) pedig töröld. Ezek után helyezd el a Serial.print(","); utasítást minden adatot kiíró sor mögött, hogy megfelelően tagold az információkat, az utlosó ilyen kód beillesztését követően pedig üss egy sortörést és gépeld be a Serial.println(); kifejezést. Így már készen is állsz arra, hogy a szoftvered megkezdje útját a mikrovezérlőd felé, a futtatást követően pedig a soros-monitoron láthatod is, ahogy mozgatás hatására változnak az adatok. Ha ezzel megvagy, irány a Unity felülete, ahol egy új projekt létrehozását követően helyezz el egy kockát a képernyődön, ezt az objektumot fogod ugyanis majd mozgatni az Arduino használatával.

A kocka-kontrollhoz természetesen szükséged lesz egy scriptre is, a Unity pedig ehhez egy C# nyelvű kódot követel meg, így nem árt, ha ezen a téren is felkészült vagy. Hogy a kódolás ezen részét megkönnyítsük a szükséges Move.cs kódot megtalálod a PC World Plus extrái között megfelelő kommentekkel ellátva, így minden függvényről könnyedén kitalálhatod, hogy milyen feladata lesz az adott program futtatása során. A használat előtt a mintakódot nyissuk meg egy Notepad++ segítségével és a SerialPort() függvényben található "COM3" feliratot cseréld le a csatlakoztatott Arduinod aktuálisan használt kommunikációs portjára. Ezt követően ments, majd egy egyszerű drag-n-droppal másold a munkaterületre a kódot tartalmazó állományt. Ezek után a Projektbe bekerült Move fájlt húzd a Hiererchy alatti Cube-ra, így társítod a scriptet az objektumhoz. Ha ezzel megvagy akár indíthatod is a projektet és látni fogod, hogy a megjelenítőn a mikrovezérlőd mozgatására életre kel a kocka. A Move.cs értékeinek módosításával finomíthatsz a szenzor érzékenységén, a Unity fejlesztői környezetében pedig további extrákkal is feldobhatod a mozgás vizualizációját. Egy dologra azonban mindenképp figyelj, hogy a program futtatásakor az Arduino fejlesztői környezetben a soros-monitor ne legyen nyitva, így ugyanis a foglalt portra hivatkozva meghiúsul majd a csatlakozás. Ha esetlegesen a túlzott adatáramlás miatt kifagy a programod ne ijedj meg, elég kihúzni az USB-csatlakozót a számítógépedtől és már le is áll a program futása.

Oldalak: 1 2

Úgy tűnik, AdBlockert használsz, amivel megakadályozod a reklámok megjelenítését. Amennyiben szeretnéd támogatni a munkánkat, kérjük add hozzá az oldalt a kivételek listájához, vagy támogass minket közvetlenül! További információért kattints!

Engedélyezi, hogy a https://www.helloworldonline.hu értesítéseket küldjön Önnek a kiemelt hírekről? Az értesítések bármikor kikapcsolhatók a böngésző beállításaiban.