İçindekiler:

Basit Birlik Denetleyicisi: 5 Adım
Basit Birlik Denetleyicisi: 5 Adım

Video: Basit Birlik Denetleyicisi: 5 Adım

Video: Basit Birlik Denetleyicisi: 5 Adım
Video: Basit Denklemlerin Çözümü | MATEMATİĞE İLK ADIM KAMPI | 5.Aşama | #ilkadım | Rehber Matematik 2024, Kasım
Anonim
Basit Birlik Denetleyicisi
Basit Birlik Denetleyicisi

Açıklama

Bu proje, Unity'ye tuşlara basıldığında girdi verebilen çok basit bir kontrolördür, oyuncunun sola ve sağa gidebileceği bir oyunu kontrol etmek için tasarladım. Tabii ki her zaman daha fazla kontrol için ayarlayabilirsiniz. Herhangi bir ekstra kitaplık kullanmanıza gerek yoktur.

Adım 1: Malzemeler

Gerekli bileşenler

  • -Arduino 2x direnç
  • -[~220 Ohm
  • -teller
  • -2x Düğmeler
  • -Breadboard

2. Adım: Breadboarding

Breadboarding
Breadboarding

Arduino GND portunu breadboard'un sol tarafındaki negatif(-) pinine bağlayarak ve 5V'yi breadboard'un sağ tarafındaki pozitif(+) pinine bağlayarak başladım.

Daha sonra butonları istediğim yere koydum. Ve bunları teller ve dirençlerle kullanarak bağladılar.

Adım 3: Arduino'yu Kodlamak

Öncelikle Arduino'nuzun çalışması için bir kod yazmanız gerekecek. Ne yaptığını açıklayan koda yorumlar koydum.

//Butonların bağlı olduğu pinleri tanımlayalım.

const int buttonPin1 = 3; const int buttonPin2 = 4;

geçersiz kurulum()

{ //Seri Serial.begin(9600); // Pinleri çıkış olarak konfigüre edin. pinMode(buttonPin1, INPUT); pinMode(buttonPin2, INPUT); }

boşluk döngüsü()

{ //Düğmenin durumunu okuyun if(digitalRead(buttonPin1) == HIGH) { //durum HIGH ise bu satırı yazdırın. Serial.println("Sol"); gecikme(20); } if(digitalRead(buttonPin2) == HIGH) { //durum HIGH ise bu satırı yazdırın. Serial.println("Sağ"); gecikme(20); } }

4. Adım: Birlik

Hazır bir oyununuz yoksa, bu kod birlik içindeki herhangi bir gameobject üzerinde çalışacaktır.

Bu durumda, hareket etmek için bir gameobject'e ihtiyacınız olacak.

Basit olması için GameObject->3D Object->Cube'a giderek bir küp oluşturacağız.

küp sahnenize girdikten sonra onu seçin ve Bileşen Ekle düğmesine basın ve yeni komut dosyası oluşturun.

Ayrıca System. IO. Ports kitaplığının çalışması için Api uyumluluk seviyesini değiştirmeniz gerekecektir.

Bunu yapmak için Düzenle->Proje Ayarları->Oyuncu'ya gidin

Api Uyumluluk Düzeyini bulana kadar bu menüde aşağı kaydırın ve. Net 2.0 alt kümesi yerine. NET 2.0'ı seçin

Artık kodlamaya başlamaya hazırsınız.

System. Collections'ı kullanma;System. Collections. Generic'i kullanma; UnityEngine'i kullanarak; System. IO. Port'ları kullanarak;

public class PlayerMovement: MonoBehaviour

{ genel şamandıra hızı; şamandıra hareketi;

SerialPort sp = new SerialPort("COM3", 9600);

geçersiz Başlat()

{ // OpenSerialPort() seri portunu açmak için kodu çalıştırın; }

geçersiz OpenSerialPort()

{ //Seri bağlantı noktasını açın sp. Open(); sp. ReadTimeout = 1; }

void Hareketi(dize Yönü)

{ //Arduino'nun hangi yöne geçtiğini kontrol edin if (Yön == "Sol") { hareket = -1; } if (Yön == "Sağ") { hareket = 1; } // gameobject'in ne kadar hareket ettirileceğini hesapla float çeviri = hareket * hız; //Hareketi gameobject dönüşümüne uygula. Translate(translation, 0, 0); }

geçersiz Güncelleme()

{ if (sp. IsOpen) { try { // seri port açıkken move hareket fonksiyonunu yürütün ve Arduino'nun yazdırdığı satırı geçin Hareket(sp. ReadLine()); } yakalama (System. Exception) {

}

}

} }

Adım 5: Son Notlar

Bileşenlerinizin çalışıp çalışmadığını kontrol edin

Bunu oluştururken karşılaştığım bir sorun, tüm kabloların ve kodun doğru olması ve hiçbir sorun olmamasıydı, ancak çalışmıyordu. aynısı diğer bileşenlerinizden bazılarında da olabilir.

Önerilen: