Sadržaj:

Naziv: 6 koraka
Naziv: 6 koraka

Video: Naziv: 6 koraka

Video: Naziv: 6 koraka
Video: Самый большой Коран в мире #коран 2024, Juli
Anonim
Tylt
Tylt
Tylt
Tylt
Tylt
Tylt

Opis projekta: Kreiranje kontrolera zasnovanog na kretanju koji može prenositi podatke naprijed -natrag s arduino ploče do Unity 5 enginea za dizajn igara. U ovom slučaju koristimo troosni akcelerometar (Adxl345) za kontrolu X i Y položaja objekata za igru unutar Unity stroja. Akcelerometar i arduino sastavljeni su u pravokutnu kutiju kako bi formirali udoban, user -friendly kontroler.

Materijali:

Akcelerometar

Ljepilo ljepilo

Arduino BoardBasic vještine lemljenja

BreadboardLaser Cutter (Tračna pila bi također radila, ali ne tako precizno)

Pleksi staklo (ili bilo koji drugi materijal u koji želite sastaviti arduino i akcelerometar) USB 1.1 kabel

Žice

Korak 1: Mehanički sklop

Mehanički sklop
Mehanički sklop
Mehanički sklop
Mehanički sklop
Mehanički sklop
Mehanički sklop

Prvo, smirite svoje igle u gasu. U ovom primjeru, svi pinovi su lemljeni, ali jedini potrebni pinovi su: VIN port, Grnd port, SDA port i SCL port. Akcelerometar postavite na ploču tako da sve pinove budu u različitim redovima, ali u istom stupcu. Zatim spojite četiri žice od arduina na akcelerator. Jedna žica bi trebala ići od 5V priključka na arduinu, do VIN priključka na mjeraču ubrzanja. Oba zemaljska priključka na arduinu i mjerač ubrzanja također bi trebala biti povezana. SDA i SCL portovi na arduinu također bi trebali biti povezani (i usklađeni) sa SDA i SCL priključcima na mjeraču ubrzanja. Provjerite stražnju stranu arduina da biste saznali koji su njegovi portovi SDA i SCL. Ne brinite o priključivanju izvora napajanja, sva energija će se napajati na arduino putem USB 1.1 kabela.

Korak 2: Dizajnirajte svoju igru

Ovo je vjerovatno najvažniji dio igre, pa se toplo preporučuje da se ujedinite s jedinstvom za ovaj projekt. Zaista možete napraviti bilo koju vrstu igre koju želite, odlučili smo napraviti igru s loptom i labirintom. Prilikom izrade igre, napravite sve objekte koje je potrebno kontrolirati podređenim od većeg objekta za igru.

Korak 3: Kodiranje

Ovo je vjerovatno najteži dio projekta. Prvo što ćete htjeti učiniti je preuzeti biblioteku kodova za ADXL345 akcelerometar u Arduino IDE. Može se pronaći na web stranici adafruit. Nakon što se učita na arduino, izbacit će hrpu podataka u serijski monitor. Zaista, ono što bi ovdje bilo idealno je da zgrabite XYZ podatke o poziciji i pošaljete ih direktno u jedinstveni projekt, ali slanje flota nije tako jednostavno kao što se čini. Prilikom slanja podataka, Unity će ih uvijek čitati kao niz, s čime je teško raditi. Da bismo to zaobišli, ono što možemo učiniti je niz if naredbi za arduino. na primjer:

if (event.acceleration.y> 3) {

Serial.println ("desno");

}

Želit ćemo raditi ove vrste poređenja za osam različitih smjerova: gore, dolje, lijevo, desno, gore-desno, gore-lijevo, dolje-desno i dolje-lijevo.

Slanjem ovih nizova smjerova možemo ih koristiti! U Unity -u, na našem kontroleru playera (koji bi trebao biti priključen na objekt ili grupu objekata koje želite kontrolirati) htjet ćemo koristiti if naredbu koja će koristiti niz koji se čita u:

if (serial. ReadLine () == "left") {

Debug. Log ("lijevo");

transform. Rotate ((-Time.deltaTime * 50), 0, 0);

}

I opet, htjet ćemo to učiniti za svih osam smjerova.

Sada je najteže dozvoliti slanje podataka jedinstvu. U istoj skripti htjet ćemo dopustiti serijsku biblioteku: pomoću System. IO. Ports

Zatim ćemo htjeti stvoriti novu instancu serijskog porta:

SerialPort serial = novi SerialPort ("COM5", 9600);

** Napomena da provjerite koji COM koristi vaš arduino, to možete učiniti u Arduino IDE -u, ali najčešći su COM3 i COM5. **

Unutar početne funkcije sada želimo otvoriti serijski port:

if (! serial. IsOpen) {

serial. Open ();

serial. ReadTimeout = 10;

}

Nakon svega ovoga, pokušajte isprobati prijenos podataka i trebali biste vidjeti da funkcionira!

Korak 4: Rezanje

Rezanje
Rezanje
Rezanje
Rezanje

Sada kada ste kodirali igru i vaš arduino komunicira s Unityjem 5, projekt je u osnovi završen. Međutim, želite ga sastaviti u privlačan kontroler prilagođen korisniku koji će koristiti svi vaši prijatelji! Da biste stvorili ovaj kontroler, možete koristiti bilo koji materijal koji želite, samo pazite da ne odbaci vaše koordinate u vašem ubrzivaču. Možda ćete se morati vratiti i prilagoditi svoj kôd u skladu s tim. Takođe, obavezno ostavite otvoren USB 1.1 port otvoren za povezivanje kontrolera sa računarom. U ovom primjeru koristili smo pleksiglas. Prvo ćete morati izmjeriti dimenzije svakog komada prema vašim potrebama. Opet, vodite računa o otvaranju USB 1.1 porta. Zatim, laserskim rezačem izrežite sve dijelove za kutiju kontrolera. Pleksiglas možete rezati i tračnom pilom, ali laserski rezač je precizniji. Osim toga, tračnom pilom izrezali smo mali komad drva istih dimenzija kao arduino. Iako to nije potrebno, preporučuje se za korak montaže.

Korak 5: Montaža kontrolera

Sklop kontrolera
Sklop kontrolera
Sklop kontrolera
Sklop kontrolera

(Ako niste rezali komad drveta kako je preporučeno u prethodnom koraku, preskočite ovo prvo uputstvo) Uzmite komad drveta i postavite arduino ploču na njega. Zatim pričvrstite ploču na drvo, pazeći da je čvrsto na mjestu. Zatim zalijepite drvo na donji dio pleksiglasa. Ako ste preskočili drvo, ploču možete pričvrstiti izravno na pleksiglas, iako bi to moglo oštetiti ili postati neugodno ako nije dovoljno debelo za vijak. Nakon toga uklonite ljepljivu naljepnicu sa stražnje strane vaše matične ploče, zatim je postavite izbliza i pričvrstite uz arduino. Zatim zalijepite ostale dijelove kutije kako biste formirali kontroler, ponovo provjerite je li USB 1.1 priključak još uvijek dostupan.

Korak 6: Plug and Play

Gotovi ste! Priključite svoj slatki kontroler na računar pomoću USB 1.1 kabla i isprobajte svoju igru!

Preporučuje se: