İçindekiler:

Eğim: 6 Adım
Eğim: 6 Adım

Video: Eğim: 6 Adım

Video: Eğim: 6 Adım
Video: Kendini Tanımanın 8 Adımı: 6. Hayret I SoruYorum 2024, Kasım
Anonim
tilt
tilt
tilt
tilt
tilt
tilt

Proje Açıklaması:Arduino panosundan Unity 5 oyun tasarım motoruna verileri ileri geri iletebilen hareket tabanlı bir denetleyici oluşturma. Bu durumda, Unity motoru içindeki oyun nesnelerinin X ve Y konumlarını kontrol etmek için üç eksenli bir ivmeölçer (Adxl345) kullanıyoruz. Hem ivmeölçer hem de arduino, rahat, kullanıcı dostu bir kontrolör oluşturmak için dikdörtgen bir kutuya monte edilmiştir.

Malzemeler:

ivmeölçer

Yapıştırıcı Tutkal

Arduino BoardTemel Lehimleme becerileri

BreadboardLaser Cutter (Şerit testere de işe yarar, ancak o kadar hassas değil)

Pleksiglas (Veya arduino ve ivmeölçeri birleştirmek istediğiniz diğer malzemeler) USB 1.1 kablosu

teller

Adım 1: Mekanik Montaj

Mekanik montaj
Mekanik montaj
Mekanik montaj
Mekanik montaj
Mekanik montaj
Mekanik montaj

İlk önce pimlerinizi hızlandırıcıya sokun. Bu örnekte, tüm pinler lehimlenmiştir, ancak gerekli pinler sadece VIN portu, Grnd Port, SDA portu ve SCL portudur. İvmeölçeri, tüm pimler farklı sıralarda ancak aynı sütunda olacak şekilde devre tahtasına yerleştirin. Ardından, arduinodan gelen dört kabloyu hızlandırıcıya bağlayın. Arduino'daki 5V bağlantı noktasından ivmeölçer üzerindeki VIN bağlantı noktasına bir kablo gitmelidir. Arduino ve ivmeölçer üzerindeki her iki yer bağlantı noktası da bağlanmalıdır. Arduino üzerindeki SDA ve SCL portları da ivmeölçer üzerindeki SDA ve SCL portlarına bağlanmalıdır (ve eşleştirilmelidir). Hangi bağlantı noktalarının SDA ve SCL olduğunu öğrenmek için arduino'nuzun arkasını kontrol edin. Bir güç kaynağı bağlama konusunda endişelenmeyin, tüm güç USB 1.1 kablosu aracılığıyla arduinoya beslenecektir.

2. Adım: Oyununuzu Tasarlayın

Bu muhtemelen oyunun en önemli kısmıdır ve bu proje için birlik konusunda rahat olmanız şiddetle tavsiye edilir. Gerçekten istediğiniz her türlü oyunu yapabilirsiniz, biz top ve labirent tarzı bir oyun yapmaya karar verdik. Oyunu yaparken kontrol edilmesi gereken tüm nesneleri daha büyük bir oyun nesnesinin çocukları yaptığınızdan emin olun.

Adım 3: Kodlama

Bu muhtemelen projenin en zor kısmıdır. Yapmak isteyeceğiniz ilk şey, Arduino IDE'deki ADXL345 ivmeölçer için kod kitaplığını indirmek. Adafruit web sitesinde bulunabilir. Arduino'ya yüklendikten sonra, seri monitöre bir sürü veri tükürecektir. Gerçekten, burada ideal olan, XYZ konum verilerini alıp doğrudan birlik projesine göndermektir, ancak kayan nokta göndermek göründüğü kadar basit değildir. Verileri gönderirken, birlik onu her zaman bir dizge olarak okuyacaktır, bu da çalışmanın zor olduğunu kanıtlamaktadır. Bu sorunu çözmek için arduino için bir dizi if deyimi yapabiliriz. Örneğin:

if(event.acceleration.y >3){

Serial.println("sağ");

}

Sekiz farklı yön için bu tür karşılaştırmalar yapmak isteyeceğiz: Yukarı, Aşağı, Sol, Sağ, Yukarı-Sağ, Yukarı-Sol, Aşağı-Sağ ve Aşağı-Sol.

Bu talimat dizilerini göndererek, onları gerçekten kullanabiliriz! Unity'de, oynatıcı denetleyicimizde (kontrol etmek istediğiniz nesneye veya nesne grubuna eklenmelidir) Okunan dizeyi kullanacak bir if ifadesi kullanmak isteyeceğiz:

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

Debug. Log("sol");

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

}

Ve yine, bunu sekiz yön için de yapmak isteyeceğiz.

Şimdi, en zor kısım, verilerin birliğe gönderilmesine gerçekten izin vermektir. Aynı komut dosyasında, Seri kitaplığına izin vermek isteyeceğiz: System. IO. Ports kullanarak

Ardından, yeni bir seri port örneği oluşturmak isteyeceğiz:

SerialPort seri = yeni SeriPort("COM5", 9600);

**Arduino'nuzun hangi COM'u kullandığını kontrol etmek için not edin, bunu Arduino IDE'de yapabilirsiniz, ancak en yaygın olanları COM3 ve COM5'tir.**

Başlatma fonksiyonumuzun içinde şimdi seri portu açmak istiyoruz:

if(!serial. IsOpen){

seri. Open();

seri. ReadTimeout = 10;

}

Tüm bunlardan sonra, veri aktarımını test etmeyi deneyin ve çalıştığını görmelisiniz!

Adım 4: Kesme

kesme
kesme
kesme
kesme

Artık oyununuzu kodladığınıza ve arduino'nuz Unity 5 ile iletişim kurduğuna göre, proje aslında bitti. Ancak, tüm arkadaşlarınızın kullanması için onu kullanıcı dostu, çekici bir kontrol cihazında bir araya getirmek istiyorsunuz! Bu denetleyiciyi oluşturmak için istediğiniz herhangi bir malzemeyi kullanabilirsiniz, hızlandırıcınızdaki koordinatlarınızı atmadığından emin olun, geri dönüp kodunuzu buna göre ayarlamanız gerekebilir. Ayrıca kontrol cihazınızı bilgisayarınıza bağlamak için USB 1.1 portunuzu açık bıraktığınızdan emin olun. Bu örnekte pleksiglas kullandık. Öncelikle, ihtiyaçlarınıza göre her parçanın boyutlarını ölçmeniz gerekecek. Yine USB 1.1 port açılması için mutlaka bir hesap alın. Ardından, bir lazer kesici kullanarak kontrol kutusu için tüm parçaları kesin. Pleksiglası şerit testere ile de kesebilirsiniz, ancak lazer kesici daha doğrudur. Ek olarak, arduino ile aynı boyutta olan küçük bir tahta parçasını kesmek için şerit testere kullandık. Bu gerekli olmasa da, montaj adımı için tavsiye edilir.

Adım 5: Denetleyici Montajı

Denetleyici Meclisi
Denetleyici Meclisi
Denetleyici Meclisi
Denetleyici Meclisi

(Önceki adımda önerildiği gibi tahta parçasını kesmediyseniz, bu ilk talimatı atlayın) Tahta parçanızı alın ve arduino tahtasını üstüne yerleştirin. Ardından tahtanızı ahşaba vidalayın ve yerine tam oturduğundan emin olun. Ardından ahşabınızı pleksiglasın alt parçasına yapıştırın. Ahşabı atlarsanız, tahtayı doğrudan pleksiglasa vidalayabilirsiniz, ancak bu, vida için yeterince kalın değilse zarar verebilir veya rahatsız edici olabilir. Daha sonra, breadboard'unuzun arkasındaki yapışkan etiketi çıkarın, ardından arduino'nun yanına sıkıca ve sıkıca yerleştirin. Ardından, denetleyiciyi oluşturmak için kutu parçalarınızın geri kalanını yapıştırın, tekrar USB 1.1 bağlantı noktasının hala erişilebilir olduğundan emin olun.

6. Adım: Tak ve Çalıştır

Bitirdin! USB 1.1 kablosunu kullanarak tatlı kumandanızı bilgisayarınıza bağlayın ve oyununuzu test edin!

Önerilen: